YAGNI - Гибкая практика, которую нельзя назвать? [закрытый]

Для окон при установке пакета, который вы вводите:

python -m pip install [packagename]
15
задан dkretz 3 June 2009 в 05:57
поделиться

6 ответов

TDD включил в категорию YAGNI в некотором роде. Если Вы делаете TDD правильно, то есть, только пишет те тесты, которые приводят к необходимой функциональности, то разрабатывают самый простой код, чтобы пройти тест, то Вы следуете за принципом YAGNI по умолчанию. По моему опыту, это только, когда я выбираюсь наружу поле TDD и запускаю написание кода перед тестами, тестами для вещей, в которых я действительно не нуждаюсь, или код, который является больше, чем самый простой способ пройти тест, что я нарушаю YAGNI.

, По моему опыту, последний является моей наиболее распространенной бестактностью при выполнении TDD - я склонен переходить вперед и запускать написание кода, чтобы пройти следующий тест. Это часто приводит ко мне ставящий под угрозу остающиеся тесты при наличии устоявшегося представления на основе моего кода, а не требований какой потребности быть протестированным.

YMMV.

12
ответ дан 1 December 2019 в 03:52
поделиться

Yagni и KISS (сохраняют это простым, глупым) являются по существу тем же принципом. К сожалению, я вижу KISS, упомянутый почти так часто, как я вижу "yagni".

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

4
ответ дан 1 December 2019 в 03:52
поделиться

Я видел много сообщений на НАСТОЛЬКО ссылающейся преждевременной оптимизации, которая является формой yagni, или по крайней мере ydniy (Вам еще не нужен он).

0
ответ дан 1 December 2019 в 03:52
поделиться

Проблема, которую я нахожу, состоит в том, что люди склонны объединять даже фабрики записи в блок, с помощью контейнеров DI (если Вы не имеете, уже имеют это в Вашей кодовой базе) под YAGNI. Я соглашаюсь с Королем JB там. Для многих людей я работал с YAGNI, кажется, лицензия для вырезания углов / для написания неаккуратного кода.

, Например, я писал PinPad API для абстракции нескольких моделей/производителей PINPad. Я нашел, если у меня нет полной структуры, я не могу записать даже свои Модульные тесты. Может быть я не очень закаленный специалист TDD. Я уверен, что будут разные мнения на том, является ли то, что я сделал, YAGNI или нет.

1
ответ дан 1 December 2019 в 03:52
поделиться

Я не рассматриваю YAGNI как противоположность быстрых-и-грязных, действительно. Это делает, что необходимо и не больше и не планирующий как программное обеспечение, которое кто-то пишет, должен продлиться 50 лет. Это может редко прибывать, потому что нет действительно что много вопросов расспросить тут и там он по крайней мере по моему мнению. Подобный "не повторяют себя", и "сохраняют это простыми, глупыми" правилами, которые распространены, но не обязательно разделены и проанализированы 101 способом. Некоторые вещи достаточно просты, что это обычно получается вскоре после выполнения небольшой практики. Некоторые вещи разрабатываются негласно и если Вы оборачиваетесь и смотрите, можно заметить их, может быть другой способ указать вещи.

-1
ответ дан 1 December 2019 в 03:52
поделиться

Свобода изменения движет YAGNI . В проекте водопада мантра - это контроль. Объем контролируется путем заключения договора с заказчиком. Следовательно, заказчик вкладывает все, что может придумать, в документ о содержании, зная, что изменение объема будет затруднено после подписания контракта. В результате вы получаете приложения с подробным списком функций, а не с набором функций, которые имеют ценность.

В гибком проекте владелец продукта формирует приоритетный бэклог продукта. Команда разработчиков создает функции на основе приоритета, т. Е. Ценности. В результате в первую очередь создается самое важное. В итоге вы получаете приложение, в котором есть функции, которые ценятся пользователями. То, что не имеет значения, выпадает из списка или не выполняется. Это ЯГНИ.

Хотя YAGNI не является практикой, он является результатом приоритетного списка невыполненных работ. Деловой партнер ценит гибкость, предоставляемую бизнесу, с учетом того, что он может изменять и переназначать отставание продукта от итерации к итерации. Достаточно объяснить, что YAGNI - это выгода, получаемая, когда мы с готовностью принимаем изменения, даже на поздних стадиях процесса.

3
ответ дан 1 December 2019 в 03:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: