Czy płacą ci od ilości ifów? Czyli jak nie utopić się w logice warunkowej
Cześć! Dzisiaj chciałbym porozmawiać o problemie, z którym spotyka się chyba każdy programista – o nadużywaniu instrukcji warunkowych if. Czy im więcej ifów stawiasz, tym więcej zarabiasz? Teoretycznie można by pomyśleć, że tak – im więcej kodu piszesz, tym lepszym jesteś programistą, prawda? Niestety, sprawa nie jest tak prosta.
Po co w ogóle używamy ifów?
If to najprostszy sposób, aby powiedzieć urządzeniu sterującemu: „jeśli coś się dzieje, wykonaj jakąś akcję”. To podstawowy element logiki programowania, szczególnie w automatyce. Warto jednak pamiętać, że wybór języka programowania też ma znaczenie – w języku drabinkowym ifów praktycznie nie używamy.
Kiedy if staje się problemem?
Problem pojawia się wtedy, gdy ifów jest za dużo. Gdy masz if w ifie, w jeszcze jednym ifie… i program staje się nieczytelny. Może działać zgodnie z oczekiwaniami, ale jego analiza i modyfikacja stają się koszmarem. A to oznacza problemy nie tylko dla innych programistów, ale przede wszystkim dla ciebie samego za kilka miesięcy.
Dlaczego powstaje chaos ifów?
Powodów może być kilka:
- Początkujący programista – to naturalne, każdy przez to przechodzi
- Brak czasu – program pisany „na kolanie” bez przemyślenia struktury
- Brak doświadczenia – początkujący programiści nie znają jeszcze wzorców rozwiązujących typowe problemy
Typowe błędy początkujących
Najczęstsze błędy to:
- Pisanie zbyt szczegółowo, bez grupowania logiki
- Tworzenie „wielkiego wora” – programu liniowego
- Brak przemyślenia struktury przed rozpoczęciem kodowania
Warto zawsze zacząć od programowania na kartce – tak, dosłownie! To pozwala wychwycić błędy na samym początku i przemyśleć strukturę.
Co zamiast ifów?
Mamy kilka alternatyw:
Zmiana języka programowania
- Ladder (drabinkowy)
- FBD (Function Block Diagram)
- Inne języki graficzne
Wykorzystanie zmiennych logicznych
- Wyniki porównań (true/false) przypisywane do zmiennych
- Operacje logiczne z użyciem AND, OR, NOT
Struktura CASE
- Często zapominana, a bardzo użyteczna
- Idealna przy kilku rozgałęzieniach
Refleksja nad własnym kodem
Każdy programista ma takie momenty – otwierasz stary kod i myślisz: „co to za idiota to pisał?”. A potem przypominasz sobie, że to ty 😅. To normalne! Moje pierwsze programy też wyglądały komicznie. Ważne, żeby się nie zrażać i ciągle się rozwijać.
Znaczenie komentarzy i nazw zmiennych
Komentarze mogą wydawać się stratą czasu, ale zaoszczędzają mnóstwo godzin w przyszłości. Za pół roku nie będziesz pamiętał, o co ci chodziło!
Równie ważne są dobrze nazwane zmienne. Jak powiedział mi kiedyś kolega z IT: „pisz program tak, żeby nazwy zmiennych i funkcji same tłumaczyły, co robią”. To świetna praktyka!
Doświadczeni programiści a ify
Czy bardziej doświadczeni programiści używają mniej ifów? I tak, i nie. Są osoby, które mimo lat doświadczenia uważają, że liczy się tylko funkcjonalność. Inni dobierają język programowania do konkretnej funkcji, którą chcą osiągnąć.
Podsumowanie
Pamiętaj – cel to nie eliminacja wszystkich ifów, ale pisanie czytelnego, łatwego do utrzymania kodu. Czasami if to najlepsze rozwiązanie, ale warto znać alternatywy i używać ich świadomie.