Skip to Content
Building Maintainable Software, Java Edition
book

Building Maintainable Software, Java Edition

by Joost Visser, Sylvan Rigal, Rob van der Leek, Pascal van Eck, Gijs Wijnholds
January 2016
Intermediate to advanced content levelIntermediate to advanced
168 pages
4h 6m
English
O'Reilly Media, Inc.
Content preview from Building Maintainable Software, Java Edition

Chapter 5. Keep Unit Interfaces Small

Bunches of data that hang around together really ought to be made into their own object.

Martin Fowler

Guideline:

  • Limit the number of parameters per unit to at most 4.

  • Do this by extracting parameters into objects.

  • This improves maintainability because keeping the number of parameters low makes units easier to understand and reuse.

There are many situations in the daily life of a programmer where long parameter lists seem unavoidable. In the rush of getting things done, you might add a few parameters more to that one method in order to make it work for exceptional cases. In the long term, however, such a way of working will lead to methods that are hard to maintain and hard to reuse. To keep your code maintainable it is essential to avoid long parameter lists, or unit interfaces, by limiting the number of parameters they have.

A typical example of a unit with many parameters is the render method in the BoardPanel class of JPacman. This method renders a square and its occupants (e.g., a ghost, a pellet) in a rectangle given by the x,y,w,h parameters.

/**
 * Renders a single square on the given graphics context on the specified
 * rectangle.
 *
 * @param square
 *            The square to render.
 * @param g
 *            The graphics context to draw on.
 * @param x
 *            The x position to start drawing.
 * @param y
 *            The y position to start drawing.
 * @param w
 *            The width of this square (in pixels).
 * @param h
 * The height of this square (in pixels). ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Java 8 in Action

Java 8 in Action

Mario Fusco, Alan Mycroft, Raoul-Gabriel Urma

Publisher Resources

ISBN: 9781491955987Errata Page