Klasik hovorí, že kód sa má čítať ako rozprávka. Lenže niekedy to nejde: najčastejšie preto, že cudzie API nie je ktoviečo.
Klasický problém sú null
ové a boolean
parametre.
Keď vám niekto dodá triedu s konštruktorom:
public Task(String name, boolean isDone)
tak inštancie vytvárate cez:
new Task("Releasnut 1.0", true);
Ak nedržíte dokumentáciu v hlave, netušíte, čo znamená true
a len pohľadom do dokumentácie zistíte, že je to príznak dokončenia.
Môžete však urobiť malý trik: vo vlastnom kóde si môžete definovať konštantu:
public static final boolean IS_DONE = true;
resp.
public static final boolean IS_NOT_DONE = false;
Kód sa potom sprehľadní na:
new Task("Releasnut 1.0", IS_DONE);
alebo:
new Task("Releasnut 1.0", IS_NOT_DONE);
Oveľa krajšie, nie?
To platí aj pre null
hodnoty. Napr. legendárna hrôzostrašnosť v API Androidu pri práci s SQL databázami:
database.query(DATABASE_TABLE, COLUMNS, null, null, null, null, null);
sa dá prepísať na
database.query(DATABASE_TABLE, COLUMNS, NO_WHERE_CLAUSE, NO_SELECTION_ARGS, NO_GROUP_BY, NO_HAVING, NO_ORDER_BY);