Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

"Czysty kod" a dobre praktyki programistów

Ostatnio zmodyfikowano 2013-08-02 13:46
Autor Wiadomość
politan
Temat założony przez niniejszego użytkownika
"Czysty kod" a dobre praktyki programistów
» 2013-08-01 03:43:10
Witam,
z reguły pracuje w językach skryptowych typu Perl, AWK czy też Python. Ułatwiają mi zdecydowanie życie codzienne jako administratora. Problem pojawił się dość niedawno. C++ znam na "jakimś tam" poziomie, a aktualnie doszkalam się z C#. Wszystko kręci się w okół hobby. Natchnęło mnie ostatnio na poznanie "dobrych praktyk programistycznych". Poszukuję tytułu, który ma w jakiś sposób opisany dobre podstawy wspomnianych praktyk/technik. Z polskich tytułów zalazłem "Czysty kod" Martin'a oraz "Kod doskonały. Jak tworzyć oprogramowanie pozbawione błędów" - McConnell'a. Z tytułów po angielsku natknąłem się na "The Practice of Programming" - Kernighan'a i Pike. Jesteście w stanie coś polecić od siebie + ewentualne opinie o wspomnianych tytułach? Przyjmę też oczywiście coś online eng, pl, fr.

Z góry dzięki za pomoc!
P-89157
DejaVu
» 2013-08-01 09:19:54
1. Pisz kod obiektowo.
2. Twórz małe i kompletnie funkcjonalne obiekty, których obsługa wymagać będzie tylko i wyłącznie wywoływania metod.
3. Unikaj dziedziczenia na rzecz agregacji wszędzie tam gdzie jest to możliwe.
4. Używaj zawsze tej samej konwencji nazewniczej (np. popatrz sobie na źródła SFML - tam jest całkiem znośna konwencja).
5. Staraj się pisać komponenty tak, aby było możliwe ich łatwe przetestowane w osobnej aplikacji konsolowej - nawet jeżeli nie będziesz pisał aplikacji testującj to i podejście takie znacznie upraszcza tworzone interfejsy do klas.
6. Nazywaj funkcje, metody i zmienne tak, aby ich nazwa zawsze jasno określała jakie dane przechowuje bądź jaką operację wykonuje.
7. Staraj się skracać długość metod poprzez dzielenie ich na kilka metod prywatnych, które będą wykonywały określone zadania.
8. Staraj się zaprojektować najpierw interfejs klasy, a potem napisz sobie przykładowe użycie interfejsu - nie ważne, że kod nie będzie działał - ważne, aby interfejs klasy był wygodny w użyciu.
9. Trzymaj się zasady 1 plik = 1 klasa (czasem się robi od tego wyjątki, ale zazwyczaj tylko wtedy, gdy deklaracja i implementacja 'drugiej' potrzebnej klasy jest bardzo krótka, np. liczy łącznie mniej jak 50-70 linijek).

Więcej porad od ręki nie przychodzi mi do głowy.
P-89161
DejaVu
» 2013-08-01 13:54:32
No i jeszcze jedno: jeżeli wiesz, że jakiś fragment kodu będzie niejasny za kilka dni/tygodni - zamieść jedną linijkę komentarza informującą co dany fragment kodu robi (np. jaki krok algorytmu się wykonuje od miejsca wystąpienia komentarza).

/edit:
Nie dopuszczaj również do sytuacji, w których ten sam kod będzie występował kilka razy w aplikacji (CTRL+C/CTRL+V) - utrzymywanie i rozwój takiego kodu będzie uciążliwy.
P-89181
Monika90
» 2013-08-01 14:03:37
Jeżeli chodzi Ci o C++, a nie o programowanie w ogóle, to warte uwagi są między innymi:
1. C++ Coding Standards, Sutter i Alexandrescu
2. Effective C++, Meyers
3. More Effective C++, Meyers
4. Effective C++11/14, Meyers (nie wydane)
P-89182
politan
Temat założony przez niniejszego użytkownika
» 2013-08-02 13:46:04
@DejaVu
Dzięki za rady! Na pewno przydadzą się.

@Monika90
Chodziło mi głównie o ogólne zagadnienie "poprawnych" technik programowania niezależnie od języka, rzucę okiem na jakieś przykładowe rozdziały z tych książek i może się zdecyduję. I tak dzięki :).
P-89276
« 1 »
  Strona 1 z 1