Zasada Yoda – mistrzowski warunek

Programowanie nie sprowadza się jedynie do pisania działających skryptów, a nauka nie kończy się na poznaniu różnych rodzajów pętli. Cała sztuka programowania to poznawanie i stosowanie zasad, wzorców, rozwiązań. Dobry programista powinien znać różne podejścia do projektowania systemów oraz mieć szeroką wiedzę na temat implementacji. Nie trzeba wywarzać otwartych drzwi, trzeba umieć przez nie przejść. Pierwszą zasadą jaką warto znać jest zasada Yoda.

Jedną z podstawowych zasad programowania jest YODA. Co to takiego? Prosta zasada odwróconej definicji funkcji warunkowej, która dla wielu jest oczywista. To nie jest żart, nazwa zasady pochodzi właśnie od mistrza Yody z Gwiezdnych wojen, który wypowiadał się w bardzo charakterystyczny sposób, stosując odwróconą składnie.

Zasada YODA

Zasada Yody polega na odwróceniu zapisu warunku w funkcjach warunkowych np.

if (2 === $value) {
}

Na pewno zwrócisz uwagę, że zapis $value === 2 byłby dużo czytelniejszy, więc czemu ta zasada jest taka dobra? Zmniejszenie czytelności warunków rzeczywiście jest jedną z zasadniczych wad notacji YODY, szczególnie w bardziej skomplikowanych przypadkach. Mimo ta notacja ma dużo zalet. Jakich? Przede wszystkim chroni nas przed bardzo dużym błędem, tj. przypisanie zamiast porównania. Nie wierzę, żeby programiście nigdy nie zdażyło się zrobić tej drobnej, a jakże poważnej pomyłki. Jeden znak może dzielić nas od poważnego fuck upu. Używając odwróconych warunków, od razu aplikacja będzie krzyczeć o błędzie składniowym. Aktualnie YODA jest wprowadzona do standardów programowania m.in. w takich narzędziach jak WordPress czy Symfony.

Na co dzień stasuję tą zasadę i uważam, że powinna wejść w nasz naturalny, podświadomy sposób programowania. Gdybyś miał ochotę dowiedzieć się nieco więcej, poniżej znajdziesz kilka ciekawych linków, na których opierałam się pisząc ten post:

Bardzo dobrym zakończeniem tego tematu będzie znany ale lekko zmodyfikowany cytat mistrza Yody:

Do or do not. There is no try.

Jeśli znasz jakieś inne zasady warte zgłębienia daj znać w komentarzu. A może jakieś ulubione cytaty mistrza Yody?

Podobne posty

Jestem programistką, która lubi mieć ręce pełne roboty. Do życia potrzebuje komputera z internetem i kubka gorącej kawy. Więcej na stronie o mnie.

Comments

ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here