Czy przeglądanie projektów innych osób to dobry sposób nauki?

0

Czy przeglądanie projektów innych osób to dobry sposób nauki?

0

Tak. Chociaż nie jako jedyna metoda. I nie bezkrytycznie (ludzie piszą często kod, który jest dość słabej jakości, którego raczej nie należy naśladować). No i bez parcia na jakość tych projektów (tzn. szukanie perfekcyjnych projektów z dobrym kodem i dobrymi praktykami to szukanie jednorożca - większość projektów ma syfiasty kod i słabe praktyki i właśnie na tym polega lekcja - uczyć się na błędach innych, a nie szukać na siłę wzorów do naśladowania).

No i czasem samo przeglądanie nie wystarczy. Pewne rzeczy wychodzą dopiero wtedy, kiedy faktycznie bierzesz projekt kogoś innego i próbujesz go dalej rozwijać. Wtedy dopiero wychodzi cały syf (oraz się też klaryfikują rzeczy, które są jednak dobre w projekcie). Bo wtedy widzisz, że jeśli zmiana prostej rzeczy (estymowanej na godzinę) zajmuje z tydzień w projekcie i trzeba ruszyć z 50 plików - to widzisz od razu co jest źle. Tak samo odwrotnie - jeśli dorabiając nową funkcjonalność możesz łatwo zintegrować ją z resztą kodu i skorzystać z wygodnych helperów czy infrastruktury, która już są porobiona - wtedy też masz szansę docenić pewne rozwiązania. Czyli doświadczenie z rozwijania istniejącego projektu (choćby w pracy) też się przydaje, a nie tylko czytanie (chociaż zbierając takie doświadczenia nabiera się potem umiejętności szybkiej oceny czy "dany kod jest dobry").

No i, już pomijając kompletnie architekturę, kwestie utrzymania, jakość kodu czy inne rzeczy - to projekty innych osób są dobrą metodą nauki takich już ściśle technicznych rzeczy, związanych już kompletnie z implementacją (żeby "działało", ale już pomijając jakość kodu). Rzeczy typu "jak się zintegrować z jakimś API?", "w jaki sposób używa się danej biblioteki, do której nie ma za wiele dokumentacji?" czy podobne można sobie sprawdzić na Githubach (albo na Stack Overflowach. W zasadzie niewielka różnica. Może taka, że na Githubie często są rzeczy, których nie ma nawet na Stack Overflow). Choć czasem i na GH nie będzie kodu, bo będzie to jakiś prywatny firmowy kod istniejący tylko w jednym miejscu na Ziemi (tj. w danym Janusz Sofcie). Wtedy będziesz musiał i tak go czytać.

0

Przeglądanie nie, analizowanie tak.

2

Nauki nie, ale można się pośmiać.

0

Moim zdaniem, nie, szczególnie na początku. Bo nie nauczysz się w ten sposób pisania kodu, a jednocześnie nie załapiesz dobrych praktyk (przy założeniu że czytamy dobry kod, a takiego wcale dużo nie ma :P) bo nie będziesz dokładnie rozumieć co tam sie dzieje.

1

Pamiętam jak byłem newbie, czytanie dobrze napisanego kodu było dla mnie wtedy równie irytujące jak teraz czytanie kodu crapu.

0

Poczytaj sobie co to jest code review. Można dużo nauczyć się jak się przegląda kod kogoś kto ma większe doświadczenie i pisze dobrze kod. Ogólnie lepiej jest uczyć się od ludzi, którzy wiedzą więcej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1