Я составляю правила программирования для моей команды: каковы ваши? - PullRequest
44 голосов
/ 05 февраля 2009

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

Для этого я хотел создать список вещей, которые:

  • лучшая практика,
  • лучшая мысль,
  • лучший подход ...

, которые помогают программисту наиболее эффективно анализировать, думать, подходить, решать и реализовывать.

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

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

Начну с первого.

СУХОЙ - Не повторяйся - В коде, комментариях или документации.

Ответы [ 65 ]

0 голосов
/ 05 февраля 2009

Разве ваша команда не должна уже знать эти вещи?

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

0 голосов
/ 05 февраля 2009

Создание программного обеспечения похоже на ... строительство дома.

Вы можете попробовать построить его без чертежа, плана, опыта, архитектора или квалифицированных торговцев.

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

Тот факт, что кто-то может построить сарай без чертежа, не означает, что он должен.

0 голосов
/ 05 февраля 2009

«Я просто не вижу, как это может потерпеть неудачу» - это просто «Это может потерпеть неудачу, я просто не вижу, как» со словами, переставленными. ТЕСТ ВСЕ!

0 голосов
/ 11 апреля 2009

Напишите не требующий пояснений код (а затем все еще задокументируйте его), который включает в себя

  • значимые имена, избегающие аббревиатур и особенно согласных кластеров
  • функции, которые только что были введены, чтобы реальный код читался как псевдокод
  • поддержание уровня абстракции в одной единице кода и т. д.
0 голосов
/ 05 февраля 2009

Понимание цели SOLID принципов (или любого другого набора принципов или методологии).

...