Najważniesze zasady Clean Code

Najważniesze zasady Clean Code
SU
  • Rejestracja:ponad 10 lat
  • Ostatnio:5 miesięcy
  • Postów:247
0

Witam. Chciałbym się Państwa zapytać, jakie zasady czystego kodu uważacie za najważniejsze, takie które każdy szanujący się programista powinien posiadać?

DE
  • Rejestracja:ponad 9 lat
  • Ostatnio:12 miesięcy
  • Postów:1788
1
mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
0

SOLID


It's All About the Game.
Riddle
Administrator
  • Rejestracja:prawie 15 lat
  • Ostatnio:4 minuty
  • Postów:10099
1

Cały Clean Code jest chyba istotny.

dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 2 miesiące
  • Lokalizacja:Rzeszów
2

Zdecydowanie KISS. Dlaczego? Bo mało kto umie się do tego zastosować, jednocześnie twierdząc, że stosuje.
Nawet "duzi" gracze lubią nadskomplikowany kod czy nawet nie tyle kod, co rozwiązania. Przykłady:

  1. Angular i jego "dependency injection", polegającą na tym, że jak nazwiesz sobie zmienną, to odpowiednią wartość ona przyjmie.
  2. Podobnie dzieje się w Symfony, tam dodatkowo routing definiujesz w komentarzu do metody.

A typowy programista klepacz też produkuje nadskomplikowany kod, ale w mniejszej skali. Naśmieszniejsze jest to, żę jakby x lat temu, przed modą na routing w komentarzach jakiś szaraczek zaproponowałby takie rozwiązanie, to by go zjedli. Potem wpada wielki framework, proponuje takie gównorozwiązanie, a wszyscy się cieszą i traktują to jako nową religię i kopiują rozwiązania do siebie.

Osobiście nie wiem kto pierwszy to wymyślił, pierwszy raz widziałem to w Symfony, więc im się dostało.


Zobacz pozostałe 5 komentarzy
axelbest
Ale żeś dał mocny przykład :)
axelbest
@vpiotr dokladnie o adnotacje mi chodzilo.
vpiotr
@axelbest: Adnotacje w Java (czy dekoratory w Python) to element języka i normalnie działa w kodzie bez samodzielnej implementacji parsowania. Kompilator języka może nawet do tego zgłaszać błędy. Automatycznie się formatują. Komentarze to co innego - też jestem zdania że kod w komentarzach burzy naturalne feng szui programisty, niemniej jeśli dzięki temu coś można zrobić prościej to ostatecznie może być i komentarz.
pkozak_pl
Z tym zastosowaniem się do KISS to różnie jest, ponieważ coś prostego można inaczej postrzegać. Dla jednej osoby to forma obchodzenia problemów bez wytaczania ciężkich rozwiązań (typowe dla bibliotek/microframeworków), a dla drugiej to coś co ostatecznie pozwoli mu rozwiązać problem jeszcze szybciej (typowe dla frameworków).
Maciej Cąderek
Maciej Cąderek
@pkozak_pl Należy rozróżnić proste a łatwe - łatwe jest subiektywne, proste nie - tutaj masz piękny wykład na ten temat: https://www.youtube.com/watch?v=rI8tNMsozo0 Chyba o to chodzi @dzek69 i tu się z nim w 100% zgadzam
pkozak_pl
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 8 lat
  • Lokalizacja:Kraków
  • Postów:19
0

Każdy szanujący się programista nie powinien przesłaniać rozwagi złotymi regułami. Ponadto zasady dobrego kodu mogą być sprzeczne np. DRY ciągnie w kierunku uogólnienia (złożony kod), a KISS w kierunku prostych rozwiązań. Co by nie wybrać i tak ktoś będzie marudził :-)

kchteam
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 8 lat
  • Lokalizacja:Tychy
  • Postów:155
0

Wydaje mi się, że kompozycja SOLID, KISS i DRY to zasady, których rozsądne stosowanie da wymierne efekty w postaci lepszego kodu.
Rozsądne, czyli nie bezkrytyczne - trzeba wiedzieć kiedy przestać i kiedy kod jest "wystarczająco dobry" - próbowanie dopasowania się do wszystkich "złotych reguł" prawdopodobnie zaprowadzi Cię do nadmiernie rozdrobnionego kodu.

Zatem najważniejsze to, tak jak napisał @pkozak_pl, nie tracić rozwagi i swój kod pisać tak, żeby był dobry, czyli, żeby działał i był czytelny dla innych programistów.

[Adam]


Jeden zespół, tysiące możliwości!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.