Aktywne Wpisy
![Lenin264](https://wykop.pl/cdn/c3397992/Lenin264_QzYAuI0Z47,q60.jpg)
Lenin264 +105
![Itslilianka](https://wykop.pl/cdn/c0834752/1060e06d466353d6cab4d161fa89b29edb0477489892df94112b0e2d757d071d,q60.jpg)
Itslilianka +417
Jakiś czas temu ta jak #rozowepaski zacząłem robić ankiety po randkach z tindera xD Beka jak to się teraz czyta po takim czasie xD #zwiazki #randkujzwykopem
![Itslilianka - Jakiś czas temu ta jak #rozowepaski zacząłem robić ankiety po randkac...](https://wykop.pl/cdn/c3201142/5723fc34abda021a9e7646751a0203db9e68328b4fa4d1d729b3091b81eeb3bb,w150.jpg)
źródło: temp_file83664017561188536
Pobierz
W zaprzyjaźnionym teamie, z którym współpracuję jest sobie taki team lead, który bez zrozumienia przeczytał "Czysty Kod" i zakazał pisania komentarzy w kodzie bo "kod ma być samokomentujący się". Czysty debilizm, żeby zakazywać całkowicie.
Dziś oglądam repo, a tam mniej więcej takie kwiatki:
public void ActionResult sendUpdateAndCancelWhenTimestampVerificationFailedButNotWhenTimestampIsInThePastForMoreThenThreeMonths() {
A co wy sądzicie o pisaniu komentarzy w kodzie?
@leoha: czasem trzeba, ale niekoniecznie w tym przypadku, który podałeś. Komentarze z resztą nie są do tłumaczenia co się dzieje, tylko dlaczego się dzieje.
Nazwa metody przegięta oczywiście, do tego pewnie za parę miesięcy będzie myląca (bo dojdzie warunek albo się zmieni, że nie po 3 miesiącach tylko po miesiącu). Ja bym nazwał tą metodę sendUpdateAndCancelWhenNeeded(). Jeśli w ogóle musi to być
@wnocy: to tak jak z nazwami metod czy zmiennych, kod się może zmienić, nazwa zostanie stara...
@Vetinari: I tak byś musiał sprawdzić kod, bo nie masz pewności, że komentarz jest aktualny.
Z innej beczki - ja nawet jak komentarz jest potrzebny to wolę dodawać je w formie komentarzy do komitów, niż komentarzy w kodzie. Bo dzięki temu widać dokładnie do których linijek kodu ten komentarz się
Zresztą wracając jeszcze do komentarzy - dzisiaj większość kodu to taka mechaniczna robota. Nie ma tu żadnej finezji, przez co "z nudów" wymyślamy
(╯︵╰,)
foo()
, to potem musisz szukać wszystkich wywołań tej metody i patrzeć, czy czasem ktoś jej tam nie skomentował? Przecież to absurd.https://github.com/AFNetworking/AFNetworking/blob/master/AFNetworking/AFHTTPSessionManager.h
Komentarze z deklaracji pojawiają się w miejscu wywołania w chmurce, jak najedziesz na nazwę metody. Klikając z ctrl skaczesz do metody i widzisz kod i nie musisz się zastanawiać, czy komentarz jest aktualny, albo co się dzieje w nieopisanym corner case. Z resztą - można sobie skonfigurować IDE, żeby w tej samej chmurce wyświetlało kod metody na którą najechałeś i skakać nie trzeba, jeśli Ci to przeszkadza :)
Oczywiście zdarzają
@Vetinari: Właśnie o to chodzi, żeby nie pisać metody na 200 linii, tylko proste i czytelne funkcje, których nie trzeba komentować. Komentarz to jak przyznanie się do błędu, że nie umiało się tego prosto zaimplementować.