
Po co wymyślać kolejny raz koło? Zamiast tracić czas na pisanie kodu rozwiązującego znane problemy warto wcześniej sprawdzić, czy ktoś już tego nie zrobił (i ewentualnie poprawić lub dostosować kod do naszego problemu ). W jednej z takich sytuacji natrafiłem na książkę Common Java Cookbook, opisującej użyteczne biblioteki do realizacji przeróżnych zadań związanych z codzienną pracą programisty. Książkę możecie pobrać w formie pdf (wymagana rejestracja), zarówno całość jak i pojedynczo konkretne rozdziały lub podrozdziały. Każdy rozdział dotyczy innej problematyki programistycznej, która jest podzielona na typowe problemy oraz przykłady rozwiązań plus krótką dyskusję na ten temat. Opisane biblioteki to m. in.: Google Guava, commons-io, commons-lang, commons-collections, commons-digester, commons-betwix, Lucene, Velocity. Także wykorzystanie w programowaniu robotów.
Polecam zacząć czytanie od tematów dotyczących waszego aktualnego projektu, wtedy chyba najlepiej będzie widać użyteczność i zwięzłość proponowanych rozwiązań. Ja zacząłem od poprawy paskudnego kodu przy zamykaniu strumieni, później doszło rekurencyjne kasowanie katalogu wraz z zawartością (jedna linijka kodu zamiast pisania własnej funkcji), a kończyłem na kilku poradach dotyczących używania strumieni i operacji na stringach. W każdym miejscu w którym zastosowałem rozwiązania z książki poprawiała się jakość kodu – był bardziej zwięzły i czytelny niż przy zastosowaniu klas ze standardowego API Javy. Dodatkowo zaoszczędziłem sporo czasu, który mogłem przeznaczyć na czytanie kolejnych rozdziałów dotyczących rozwiązań problemów czekających mnie przy aktualnym projekcie.
Podsumowując – warto przeczytać całość od deski do deski. Mimo, że nie wszystkie porady są na wysokim poziomie większość z nich skróci czas pisania nudnego kodu i poprawi jego czytelność. W kolejnym artykule przedstawię przykład poprawy rozwlekłego kodu realizującego realny problem. Musi mnie tylko najść wena na napisanie wariantu rozwlekłego.