Simple Design

Материал из AgileWiki

Перейти к: навигация, поиск

Содержание

Определение

Simple design - подход в разработке ПО ориентированный на удешевления цены за счёт повышения качества и простоты кода.

Ценности:

  • коммуницируемый код
  • простота
  • гибкость

Принципы:

  • симметричность
  • ...

Так же для полного понимания рекомендуется использовать SOLID принципы и принципы Лармана.

Статьи

c2.com

agileatlanta.org

"The system should be designed as simply as possible at any given moment. Extra complexity is removed as soon as it is discovered." Not BigDesignUpFront? (BDUF).

If this is a "best practice", then why don't people do it?

  • lack of experience
  • they don't spend enough time on it, not done often enough
  • they don't refactor so code grows complex
  • lack of have design reviews
  • overdesign, plan too far into future
  • don't know DesignPatterns??

How is it any different if done "eXtreme"?

  • ruthlessly refactor
  • very small classes
    • do one thing / have one responsibility
  • very small methods
    • instead of block comments
    • just a couple lines of code
  • ==> self documenting (really)
    • long method and variable names instead of comments
  • zero duplicate lines of code
  • each class dones one thing and does it well
  • design patterns used judiciously; used to communicate more than to code

What other practices support this practice?

What other practices are supported by this one?

How do I get started?

Next: Unit Testing (path A); Collective Ownership (path B).

-- AndrewFuqua - 31 Mar 2002

Ссылки

...

Личные инструменты