2010-07-31 7 views
8

The Pragmatic Programmer jest bardzo przez wiele osób recommended. Właśnie skończyłem ją czytać i widzę, dlaczego ludzie ją polecają, chociaż chciałbym zauważyć, że Code Complete obejmuje niemal wszystkie te same materiały w dużo większej głębi.Czy autorzy Pragmatycznego programisty zapomnieli o YAGNI?

Jedną z rzeczy, które mnie dręczyły, był sposób, w jaki autorzy nigdy nie wspomnieli o wadach elastyczności, uogólnieniu i pozostawieniu miejsca na dalszy rozwój. Te koncepcje są bardzo dobre, ale co stało się z zasadą YAGNI (You Is not Go Need It It), która uniemożliwia deweloperom marnowanie czasu na wdrażanie elastyczności, która nigdy nie zostanie wykorzystana?

Poszukiwanie SO ujawnia 400 pytań o YAGNI, więc wątpię, aby koncepcja była zbyt niejasna dla autorów. Nie jestem oczywiście tak blisko doświadczony jak oni, więc dlaczego nie wspomnieli o żadnym ograniczeniu w całej książce?

Dzięki.

+2

Naprawdę musiałbyś ich spytać, chociaż zgaduję, że powodem jest to, że YAGNI nie sprzedaje książek. – Oded

Odpowiedz

2

Nie nazywają go YAGNI, ale nie ma słów kluczowych na stronie 11, który ma co najmniej taki sam nacisk:

wiedzieć, kiedy przestać!

+2

Nie sądzę, że to naprawdę to samo. Wiedza, kiedy przestać manipulować kodem, różni się od wiedzy, kiedy nie projektować nadmiernej elastyczności w systemie. Może jestem zdezorientowany co do tego, czym jest YAGNI. – Dijkstra

+0

Mogę się tylko domyślać, czy Hunt & Thomas miał na myśli "YAGNI", kiedy napisali ten fragment, ale mam silne przeczucie, że ich intencje były w tym samym kierunku. –

0

Nie zapomnieli. Wydaje mi się, że książka właśnie poprzedza YAGNI i staje się znana.

0

[YAGNI] uniemożliwia deweloperom tracić czas realizacji elastyczność, która nigdy nie będzie używany

elastyczność wykonawcza niekoniecznie zająć więcej czasu. Z mojego doświadczenia wynika, że ​​może on (i powinien) być częścią twojego naturalnego stylu programowania. Kod IMHO, który jest nieelastyczny, jest generalnie wynikiem złych praktyk programistycznych.

Powiązane problemy