Jak pisać programy nie do utrzymania
Znalezione dzisiaj: How
To Write Unmaintainable Code.
"Ludzie projektujący języki piszą też ich kompilatory i biblioteki
standardowe. Nie jest dziwne, że starają się więc ułatwić sobie życie
trzymając się matematycznej elegancji. Jednak na każdego twórcę
kompilatora przypada 10'000 programistów, którzy będą tworzyć i
utrzymywać programy napisane z jego wykorzystaniem. Programistów,
którzy nie mają nic do powiedzenia w sprawie kompilatora, chociaż
tworzą nieporównanie więcej kodu. Znakomitym przykładem takiego
myślenia jest interfejs JDBC. Ułatwia życie autorom implementacji, ale
sprawia że codzienna praca z nim jest koszmarem." (ze strony "Philosophy")
Minęło już trochę czasu od kiedy ostatnio miałem okazję napisać coś
w Javie, ale tekst dokładnie pasuje do tego, co sobie przypominam –
język, w którym rzeczy tak proste jak odczyt zawartości pliku wymagały
dużej ilości kodu.
Ale to nie tylko Java; Javę pamiętam jak przez mgłę, ale C++ mam na
co dzień. STL jest powszechnie chwalony za czystość i wyraźny
podział na składowe, można w nim zrobić zadziwiające rzeczy, pod
warunkiem że ktoś czytuje pasjami Alexandrescu i lubi < szablony
< zagnieżdżone < do < kompletnej < nieczytelności >
> > > >. Ale w przypadku bibliotek to nie elegancja jest
celem. Ważniejsza jest przejrzystość i wygoda w tworzeniu
wykorzystującego je kodu. Przy całej matematycznej elegancji klasy std::string wolę
używać QString, głównie dlatego że ma całe mrowie metod
upraszczających często wykonywane operacje, jak konwersja liczby na
tekst. Proste rzeczy powinny dać się robić prosto.
O autorze: nazywam się Marcin Kaszyński i od ponad 10 lat zajmuję się tworzeniem oprogramowania, od projektowania przez programowanie do zarządzania projektami włącznie. Prowadzę warsztaty Django, będące szybkim i łatwym sposobem na poznanie tego środowiska i rozpoczęcie pracy z pełnym wykorzystaniem jego możliwości.
