... o których każdy programista
wiedzieć powinien.

Zawsze słuchaj ekspertów. Oni powiedzą ci, czego nie da się zrobić i dlaczego. A ty potem to zrób.
-- Robert Heinlein
Jørn Ølmheim

Piękno drzemie w prostocie

Oryginalny tytuł: Beauty Is in Simplicity

Autor: Jørn Ølmheim

Jest pewien cytat za Platonem, który uważam za szczególnie wart znajomości i ważny z punktu widzenia twórców oprogramowania:

Piękno stylu i harmonia, i elegancja, i rytm, wynikają z prostoty.

W jednym zdaniu podsumowuje to wartości do jakich powinniśmy aspirować jako twórcy oprogramowania.

Jest wiele rzeczy, które chcemy osiągnąć w naszym kodzie:

  • Czytelność
  • Łatwość pielęgnacji
  • Szybkość tworzenia
  • Jakiś stopień piękna

Platon mówi nam, że czynnikiem prowadzącym do takich wartości jest prostota.

Czym jest piękny kod? To potencjalnie bardzo subiektywne pytanie. Percepcja piękna zależy bardzo mocno od naszych doświadczeń, tak jak percepcja czegokolwiek zależy od naszych doświadczeń. Ludzie wykształceni w dziedzinie sztuki mają inną percepcję (a przynajmniej inne podejście) do piękna niż ludzie wykształceni w naukach przyrodniczych. Przedstawiciele sztuki mieliby tendencję do postrzegania piękna w oprogramowaniu poprzez porównywanie oprogramowania z dziełami sztuki, podczas gdy przedstawiciele nauk przyrodniczych mówiliby raczej o symetrii i złotym podziale, próbując sprowadzać wszystko do wzorów. Moje doświadczenie mówi mi, że prostota jest fundamentem dla większości argumentów wysuwanych przez obydwie z tych stron.

Pomyśl o kodzie źródłowym jaki przestudiowałeś. Jeśli nie poświęciłeś czasu studiując kod innych ludzi, natychmiast przestań to czytać i znajdź jakiś kod typu open source do przestudiowania. Serio! Dokładnie tak! Idź przeszukać internet i znajdź jakiś kod w Twoim ulubionym języku, napisany przez dobrze znanego i akceptowanego eksperta.

Już jesteś? Dobrze. Na czym skończyliśmy? A, tak... Odkryłem, że kod, który gra gdzieś w mojej duszy i który uważam za piękny, ma pewne powtarzające się cechy. Główną wśród nich jest prostota. Odkryłem, że niezależnie od tego, jak bardzo skomplikowana jest cała aplikacja albo system, poszczególne części powinny być proste: proste obiekty z określoną odpowiedzialnością, zawierające równie proste, zwięzłe metody z samoopisującymi się nazwami. Niektórzy ludzie uważają, że zamiar pisania 5-10 liniowych metod to już ekstremum, a niektóre języki czynią to naprawdę trudnym, ale uważam, że tego typu zwięzłość jest mimo wszystko oczekiwana.

Ostatecznie, piękny kod to prosty kod. Każda odrębna część jest prosta z prostymi odpowiedzialnościami i prostymi relacjami z pozostałymi częściami systemu. To jest sposób na utrzymywanie naszych systemów z czystym, prostym, testowalnym kodem, zapewniając jednocześnie dużą prędkość rozwoju podczas czasu życia tego systemu.

Piękno jest zrodzone i ugruntowane w prostocie.

Creative Commons Uznanie Autorstwa 3.0 Artykuł został opublikowany na licencji Creative Commons Uznanie Autorstwa 3.0.
Tłumaczenie: Mixer

Komentarze (0)

Dodaj komentarz

*
 
 
*
*