Proste projekty na githubie, z których można nauczyć się właściwych technik programowania.

0

Jako że jest to mój pierwszy post to chciałbym się przywitać.
Moja praca nie jest stricte związana z programowaniem, ale mam możliwość dłubać proste narzędzia wspomagające pracę moją i moich kolegów. W zależności od potrzeb są to narzędzia web ( jQuery, CodeIgniter, mySQL) oraz desktop (JavaFX). Odkąd zacząłem regularnie gościć na 4p to zdałem sobie sprawę, że samo napisanie aplikacji która działa to nie wszystko. Chcę nauczyć się prawidłowych praktyk programowania. Wymyśliłem sobie, że oprócz poznania teorii, będę analizował również gotowe projekty, które spełniają moje oczekiwania. I tutaj liczę na Waszą pomoc. Czy możecie wskazać jakieś proste do ogarnięcia (chodzi o rozmiar) projekty? Na chwilę obecną chciałbym skoncentrować się na PHP i Java.
Pozdrawiam.

R.

0

Chcę nauczyć się prawidłowych praktyk programowania.

Nie ma takich. Jest parę zasad, które są wyznawane przez wiele programistów (np. Don't Repeat Yourself, Single Responsibility Principle, czy inne tego typu slogany), ale po pierwsze - zawsze się zdarzają sytuacje, kiedy można złamać jakąś zasadę i dobrze na tym wyjść - po drugie same zasady są różnie interpretowane przez różnych programistów.

Ważniejsze od nauczenia się "prawidłowych" praktyk jest nauka przewidywania problemów/konsekwencji wyborów programistycznych. Ale na tym etapie nie ma prawidłowy-nieprawidłowy, bo prawidłowa czy nieprawidłowa to może być decyzja (np. pisanie metodą kopiuj wklej to raczej kiepska praktyka - ale czasem decyzja o pisaniu w taki sposób może być uzasadniona w danej sytuacji. Więc stosowanie "nieprawidłowej" praktyki może być prawidłową decyzją)

A żeby mieć wyczucie, która praktyka w jakim kontekście może być prawidłową decyzją warto wejść głębiej w projekt, pisać w nim kolejne funkcjonalności. Wtedy dopiero widzisz, czy dane decyzje podjęte przez poprzednich programistów były mądre czy głupie - bo sam musisz to utrzymywać.

Ale jeśli tylko czytasz kod, to warto zaglądać w historię całego projektu, zarówno tę widoczną w commitach jak w dziale issues danego projektu. Bo wtedy dopiero widzisz całą historię danej funkcjonalności, danego modułu i masz szerszy pogląd na to, czy napisanie czegoś w określony sposób było prawidłową decyzją czy nie.

A patrząc tylko w kod nie masz tego całego kontekstu.

0

Jak wspomniałem, nie jestem z branży. Moje wyobrażenie świata IT budowane jest m.in. dyskusjami tutaj na forum. Muszę przyznać, że Twoja wypowiedź dała mi do myślenia. Dziękuję.

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