До чого відносяться DRY, KISS, SOLID тощо?


58

Чи щось на кшталт DRY - це модель дизайну, методологія чи щось середнє? Вони не мають конкретних реалізацій, які могли б бути неодмінно продемонстровані (навіть якщо ви можете легко продемонструвати випадок НЕ, використовуючи щось на зразок KISS ... див . Щоденний WTF для безлічі прикладів), а також вони повністю не пояснюють процес розробки, як методологію. як правило. Де це залишає такі типи "великого правила"?


20
СУХИЙ ТОЛИЙ ПОПИС ... Я не знаю, чи це робить дизайн програм більш привабливим, чи менш ...
FrustratedWithFormsDesigner

11
Скорочення? (Всміхаючись, бігаючи та пригнувшись.)
Уоррен П

2
@Warren P: Це стає ГРАД ... Хммм ...
FrustratedWithFormsDesigner


Маркетинг доставляв модниці
Еміліо Гаравалья

Відповіді:


98

За словами Вікіпедії, це принцип розробки програмного забезпечення.

Насправді Вікіпедія називає всі вони принципами:

СУХА :

В інженерії програмного забезпечення "Не повторюй себе" ("DRY") або "Дублікація зла" (DIE) - це принцип розробки програмного забезпечення

KISS :

KISS - це абревіатура для принципу дизайну "Будьте прості, дурні!".

Твердий :

Ці принципи при застосуванні разом намір зробити його більш імовірно , що програміст буде створити систему , яка легко підтримувати і розширювати з плином часу


Чи є хороший підручник із прикладами, які допомагають зрозуміти, як застосовувати ці шаблони дизайну ...
Krunal

2
Шаблони дизайну різні. Як йдеться у відповіді, це принципи, які повинні керувати вашим щоденним дизайном та розробкою. Прикладів та навчальних посібників в Інтернеті багато. Ось один із таких: blog.gauffin.org/2012/05/11/…
Jonn

1
Ще одна протилежність DRY - це "WET": напишіть все двічі.
Д-р Роб Ланг

17

Я б сказав, що це основні інженерні принципи .

Методика може мати n принципів.

І вони точно не є моделями дизайну :)


6

Це вказівки щодо вашої щоденної роботи, перетинання меж шарів, проблемних областей та технологій.

Вони також формують те, що ви б назвали філософією, що визначає вашу професійну практику.


І вони не повинні застосовуватися лише до розробки програмного забезпечення - ну добре, SOLID дійсно стосується лише розробки програмного забезпечення, але інші два є дуже загальними і можуть застосовуватися незалежно від будь-якої конкретної галузі!
FrustratedWithFormsDesigner
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.