fbpx ...

Zasady programowania określają w jaki sposób pisać efektywny kod. Dzięki temu inni programiści w szybszy sposób mogą go odczytać i jest go łatwiej rozwijać. 

Jeśli jesteś już zmęczony całonocnym kodowaniem i nie chce CI się czytać, to w materiale wideo poniżej znajdziesz informacje o takich zasadach jak DRY, DRTW, YAGNI, 90-90, CQRS, KISS oraz Fail-fast. Jeśli jednak pozostało Ci trochę energii, to do dzieła.

Zasady programowania - dobre praktyki

1. Fail-Fast: Błyskawiczne reagowanie na problemy

Zasada „Fail-Fast” sugeruje, że w przypadku wykrycia problemu w kodzie, program powinien natychmiast zakończyć działanie. Chodzi o to, żeby uniknąć generowania niezdefiniowanego zachowania. W praktyce oznacza to, że powinieneś sprawdzać niezbędne warunki na początku funkcji, używając asercji. Korzyści płynące z tej zasady są ogromne. Minimalizujesz tym niezdefiniowane zachowanie, co ułatwia debugowanie i pomaga w znalezieniu przyczyn problemów.

2. SCOUT'S RULE: Sprzątanie po sobie

Podobnie jak w biwaku, w kodzie powinniśmy dbać o czystość i porządek. Jednak, zasada skauta idzie o krok dalej, zachęcając do sprzątania nie tylko po sobie, ale także po innych programistach. Co to oznacza? Mianowicie – nie tylko powinieneś utrzymywać swój kod w dobrej formie, ale także przyczyniać się do poprawy jakości ogólnego kodu projektu. Tworzenie osobnych commitów dla prac czysto refaktoringowych pozwala na wyizolowanie zmian, które poprawiają czytelność i jakość kodu. Te zmiany niekoniecznie dodają nową funkcjonalność, lecz ułatwiają zrozumienie i śledzenie poprawek w kodzie. Dzięki temu unikamy narastającego „długu technicznego”, który może skomplikować rozwijanie projektu w przyszłości.

3. DRY: Nie powtarzaj się

(Don’t Repeat Yourself). Zasada „DRY” mówi, że kod, który jest powielany w wielu miejscach, powinien zostać wydzielony do jednej funkcji lub modułu. Nawet jeśli różni się tylko w jednym elemencie, warto używać parametrów, aby ogólna logika była współdzielona. To ułatwia zarządzanie kodem i minimalizuje ryzyko pominięcia zmian w wielu miejscach. Ponadto, ułatwia to przeprowadzanie refaktoringu, czyli procesu poprawiania i doskonalenia kodu.

4. DRTW: Nie wynajduj koła na nowo

Zasada „DRTW” (Don’t Reinvent The Wheel) zachęca do korzystania z gotowych bibliotek i rozwiązań, zamiast tworzenia wszystkiego od podstaw. Gotowe biblioteki są często przetestowane i wykorzystywane przez wiele osób, co zmniejsza ryzyko błędów implementacyjnych. Ponadto, korzystanie z gotowych rozwiązań oszczędza cenny czas, który można przeznaczyć na inne aspekty projektu. Zamiast próbować odtworzyć coś, co już istnieje, warto zainwestować w naukę korzystania z dostępnych narzędzi.

5. KISS: Bez udziwnień zapisu, idioto

„KISS” (Keep It Simple, Stupid) to zasada, która zachęca do trzymania kodu w jak najprostszej i najczytelniejszej formie. Unikaj dodawania zbędnych udziwnień, które mogą utrudnić zrozumienie kodu. Usprawnienia powinny być wprowadzane tylko wtedy, gdy są faktycznie potrzebne, a nie „na wszelki wypadek”. Prostota pomaga w zrozumieniu kodu przez Ciebie i innych programistów, a także ułatwia konserwację i rozwijanie projektu.

6. YAGNI: Nie pisz na zapas

Zasada „YAGNI” (You Aren’t Gonna Need It) podkreśla, że nie powinieneś dodawać niepotrzebnych funkcji ani kodu na zapas. Skup się na implementacji tylko tego, co jest wymagane w danej chwili. Unikanie zbędnych elementów pomaga zaoszczędzić czas, zachować czytelność kodu i minimalizować niepotrzebne złożoności. Nowe funkcje i rozwiązania można dodawać w miarę rozwoju projektu, a nie przedwcześnie.

Teraz czas na programistyczny rachunek sumienia.  😅

A jeśli chciałbyś wynieść swój warsztat na wyższy level to obczaj nasz pakiet kursów C++ dla początkujących i średnio-zaawansowanych, który zawiera w sobie bonus: dobre praktyki. 

ninjaletter

A może Ninjaletter?

Chcesz wiedzieć, co słychać w C++ i nie tylko? Zapisz się na Ninjaletter i otrzymuj od nas co miesiąc dawkę wartościowych treści o C++ i zadania rekrutacyjne. Do tego dorzucamy darmowe materiały, spoilery o nowych kursach, specjalne promocje dla ninjaletterowiczów i wiele, wiele innych. To co, skusisz się?

Łukasz Ziobroń

Łukasz Ziobroń

Zmieniam ludzi w prawdziwych programistów. W nauczaniu stosuję grywalizację, andragogikę i neurodydaktykę.

Najnowsze artykuły

docker

Narzędzia programisty: Docker w skrócie

Co wspólnego ze sobą mają ogry, cebula i Docker? Poznaj podstawy Dockera i dowiedz się, jak może przyspieszyć Twoją codzienną pracę. Odkryj, dlaczego warto go mieć w swoim arsenale programisty.

Czytaj »
good programming practices

Good programming practices – Coding Dojo

Training in a form of Coding Dojo. Participants start with a code review of a small application. They note down their comments. After that, the trainer presents bad and good programming practices. Participants discuss what can be applied in a reviewed code and start fixing it in a form of Coding Dojo.

Czytaj »

Popular C++ Idioms – Coding Dojo

The training starts with a code review of a small application (pre-work). Participants note their thought and discuss their findings in groups. Then popular C++ idioms are presented (the concept and some code) – about 15-20 minutes each. After that participants need to use some of the idioms in a reviewed application code.

Czytaj »
performance optimisations

Performance optimisations

This training is about writing more robust C++ code and algorithms with the help of CPU caches and a compiler. Benchmarking tools are used to show performance gains.

Czytaj »
ninjaletter

Już uciekasz?

Zanim to zrobisz, zapisz się na Ninjaletter, aby wiedzieć, co piszczy w C++. 

Informujemy, iż w celu realizacji usług dostępnych w naszym serwisie, optymalizacji jej treści, dostosowania strony do Państwa indywidualnych potrzeb oraz wyświetlania, personalizacji i mierzenia skuteczności reklam w ramach zewnętrznych sieci reklamowych korzystamy z informacji zapisanych za pomocą plików cookies na urządzeniach końcowych użytkowników. Pliki cookies można kontrolować za pomocą ustawień swojej przeglądarki internetowej. Dalsze korzystanie z naszego serwisu, bez zmiany ustawień przeglądarki internetowej oznacza, iż użytkownik akceptuje stosowanie plików cookies. Więcej informacji zawartych jest w polityce prywatności serwisu.