2010-07-31 2 views
8

The Pragmatic Programmer очень recommended много людей. Я только что закончил читать его, и я понимаю, почему люди рекомендуют его, хотя я бы отметил, что Code Complete охватывает почти все те же материалы гораздо глубже.Забыли ли авторы Pragmatic Programmer о YAGNI?

Однако, одна вещь, которая меня беспокоила, - это то, как авторы никогда не упоминали о недостатках гибкости, обобщении и отсутствии возможности для дальнейшего развития. Эти концепции очень хороши, но что случилось с принципом YAGNI (вам это не понадобится), что мешает разработчикам тратить время на внедрение гибкости, которая никогда не будет использоваться?

Поиск SO раскрывает 400 вопросов о YAGNI, поэтому я сомневаюсь, что концепция была слишком неясной для авторов. Я, конечно, нигде не так близок, как у них, поэтому почему они не упоминали об использовании ограничений в книге?

Спасибо.

+2

Вам действительно нужно будет спросить их, хотя я бы предположил, что причина в том, что высказывание YAGNI не продает книги. – Oded

ответ

2

Они не называют это YAGNI, но есть ключевое слово на странице 11, которая имеет, по крайней мере, тот же фокус:

знать, когда остановиться!

+2

Я не думаю, что это действительно одно и то же. Знание того, когда прекратить возиться с вашим кодом, отличается от знания, когда не создавать чрезмерную гибкость в системе. Возможно, я смущен тем, что касается YAGNI. – Dijkstra

+0

Я могу только догадываться, если Хант и Томас имели в виду «ЯГНИ», когда они писали этот отрывок, но у меня есть сильное чувство, что их намерение было в том же направлении. –

0

Они не забыли. Я думаю, что книга только что предшествовала становлению ЯГНИ.

0

[YAGNI] позволяет разработчикам тратить свое время реализации гибкости, которая никогда не будет использоваться

Реализация гибкости не обязательно займет больше времени. По моему опыту, это может быть (и должно быть) быть частью вашего естественного стиля программирования. Код IMHO, который является негибким, как правило, объясняется плохой практикой программирования.

Смежные вопросы