Czytelność kodu

Przeglądając strony o programowaniu trafiłem na taką ciekawą stronę, gdzie autor Ramarao Kanneganti opowiada jak pisać czytelny kod, który każdy inny może przeczytać i zrozumieć łatwo:

http://www.kanneganti.com/technical/readable-code

A może podejść odwrotnie do tematu i znaleźć takie sposoby pisania kodu których trzeba unikać?

Dla mnie podejrzane są na przykład takie konstrukcje:

[Kod C#]
is_readable ? read() : {is_writeable ? write() : MessageBox(“Error”)}

albo:

[Kod C#]
if (is_readable)
{
(…80 linii kodu)
if (is_writeable)
{
(…80 linii kodu)
}
(…80 linii kodu)
}

Takie warunki ciągnące się przez kilka stron kodu powodują, że się robi całkowicie nieczytelny i trudny do utrzymania, modyfikacji.

Tak samo linie kodu, które są dłuższe niż szerokość ekranu.

Albo kod bez komentarzy. W.w. autor postuluje, że komentowanie każdej linii kodu jest bez sensu i z tym się zgadzam. Natomiast np. blok kodu który w gruncie rzeczy robi jedną rzecz już według mnie powinien być opisany, tym bardziej, jeżeli sposób działania tego bloku może być nieczytelny (jak w pierwszym przykładzie kodu).

Czasem programiści postulują też, że podejście obiektowe na tyle zwiększa czytelność kodu, że metody i właściwości publiczne nie wymagają opisu, posuwając się nawet do tego, że wewnętrzne mechanizmy klasy też nie są opisane.

Przeczytaj też

Najlepsza książka do Pythona Nie wiesz, z jakiej książki/ebooka uczyć się programowania w języku Python? Postanowiłem zrobić zestawienie 10 książek z Heliona na ten temat, abyś mó...
Komplet 28 ebooków i kursów, aby zostać programist... Od jakiegoś czasu dostaję zapytania na temat tego jakie książki, kursy i ebooki polecam. W związku z tym postanowiłem przygotować dzisiaj zestaw, któr...
120 tapet programistycznych za darmo do pobrania Trochę mi się nudziło, więc przygotowałem zestaw 120 tapet dla programistów. Możesz go pobrać. Tapety są w rozdzielczości 1366x768. Podzielone ...
10 fiszek do nauki programowania w Pythonie Uczysz się programowania w Pythonie? Pobierz te 10 fiszek, które ułatwią Ci zapamiętanie funkcji wbudowanych* w Pythona! Programowanie potrafi ...
Czytaj podobne  Jak szukać odpowiedzi na forum CodeGuru
Napisano w Kolumna Tagi: , , , , , , , , , , , , , , , ,

Menu