Biorąc pod uwagę że nie ma analityków w naszym zespole, zdaję sobie sprawę że projektanci nie są w stanie wygenerować poprawnego modelu działania aplikacji na poziomie diagramów interakcji obiektów, stosu wywołań metod czy stanów obiektu. Niemniej, warto byłoby umieścić programistom wskazówki odnośnie:
Pewne rozwiązania można wskazać poprzez utworzenie PRYWATNYCH metod o właściwej nazwie np.
private boolean hasDuplicateInDB(Object argument)
lub poprzez zaproponowanie zmiennych pomocniczych i opisanie ich komentarzem np.
/* buffer for writing primitive field values /
private byte[] primVals;
/**
2220 * Lightweight identity hash table which maps objects to integer handles,
2221 * assigned in ascending order.
2222 */
2223 private static class HandleTable {
2225 / number of mappings in table/next available handle /
2226 private int size;
2227 / size threshold determining when to expand hash spine /
2228 private int threshold;
2229 / factor for computing size threshold /
2230 private final float loadFactor;
2231 / maps hash value -> candidate handle value /
etc. etc.