Witam, znacie może jakieś materiały odnośnie czystego kodu?
Słyszałem o tej ksiązce (Klik), lecz chciałbym poznać jeszcze inne źródła.
Sprawdź listę:
https://www.amazon.com/s?k=robert+c+martin+series&crid=18Z8OKL0KR3UC&sprefix=robert+c+martin+%2Caps%2C287&ref=nb_sb_ss_i_1_16
Oraz:
https://www.amazon.com/Practice-Programming-Addison-Wesley-Professional-Computing/dp/020161586X/ref=sr_1_1?crid=K914FPHUVHMD&dchild=1&keywords=practice+of+programming&qid=1598214337&sprefix=practice+of+programm%2Caps%2C290&sr=8-1
"Gang of Four" nie zaszkodzi.
Z tego co kojarzę, ten sam autor napisał "Mistrz czystego kodu".
Guyush napisał(a):
Z tego co kojarzę, ten sam autor napisał "Mistrz czystego kodu".
"Mistrz czystego kodu" - tak, IHMO była to najmniej udana z jego książek wydanych po polsku, ale też coś ciekawego można tam znaleźć
Generalnie ostatnio zrobiły się popularne repozytoria w stylu "awsome xxx" np. https://github.com/kkisiele/awesome-clean-code
Zamiast bazować na książce (dość starej już i zupełnie pomijającej aspekty funkcyjne) wystarczy że poczytasz na następujące tematy w sieci:
- Wzorce projektowe: Factory, Adapter, Decorator, Strategy, Builder, znienawidzony Singleton, Proxy, Iterator i Visitor - poza tymi z tej listy pozostałe spotkasz bardzo rzadko no chyba że trafisz na kogoś kto pisze nieczytelny kod za pomocą nadmiaru wzorców
- Architektura: SOLID (na początek wystarczy, potem też GRASP), KISS (najważniejsza reguła w mojej opinii) i YAGNI. Podejście package per feature.
Jeżeli piszesz w Javie to obowiązkowa jest pozycja: Effective Java, w 50% mówi o tym jak dobrze projektować API.
Kolejna polecana książka do której należy jednak podchodzić z dystansem to: Elegant Objects pana Yegora (sporo materiałów dostępnych jest na jego blogu yegor256).
Niestety dosyć stara ale bardzo dobra książka Growing object-oriented software guided by tests jest niezastąpioną pozycją mówiącą o tym jak pisać testowalny kod.
Więcej nauczysz się czytając blogi i przeglądając kod projektów open-source niż czytając książki pokroju Clean code. Zresztą ostatnio pozycja ta spotkała się z niemałą krytyką, zarzucano autorowi że zachęca do nadmiernej komplikacji kodu i overengineeringu.
No 1 blog dla programistów "enterprise": https://martinfowler.com/bliki/
Co do "Czystego kodu" Martina to bardzo odradzam wersję po polsku. Próbowałam ją czytać i poległam, niektóre zdania w ogóle nie miały sensu i odniosłam mocne wrażenie, że tłumacz nie rozumiał co tłumaczy. Dużo lepiej czytało mi się po angielsku. (Zaznaczam, że nie jestem mistrzem świata angielskiego i jak mam do wyboru dobrą treść po polsku, to wybiorę po polsku bo czytam trochę szybciej).
Jeśli szukasz czegoś ogólnie o DRY, YAGNI, SOLID itd to:
- ww. Clean Code
- "Pragmatyczny programista", Andrew Hunt, David Thomas
- "Oprogramowanie łatwe w utrzymaniu", Joost Visser (Java)
- "Refaktoryzacja. Ulepszanie struktury istniejącego kodu", Martin Fowler (JavaScript)
- "Seriously Good Software", Marco Faella (Java)
- "Object Design Style Guide", Matthias Noback (język abstrakcyjny)
- "Elegant Objects", Yegor Bugayenko (vol 1, 2)
- "Czysty kod w C++17", Stephan Roth (mocno C++)
Oprócz tego są książki do OOP lub FP per konkretny język, ale to już bardziej szczegółowo.