Нет побочных временных привязок функции.
Нет побочных эффектов.
Нет причин лишний раз обращаться к сигнатуре функции (нет повторных заходов).
Выходных аргументов следует избегать.
Функция может изменять состояние только владельца.
Функция либо что-то делает (команда), либо отвечает на какой-либо вопрос (запрос).
Функция либо изменяет состояние объекта, либо возвращает информацию об этом объекте.
Исключена неоднозначность имен функций.
Функции-команды не возвращают коды ошибок.
Вместо возвращения кодов ошибок используются исключения.
Тела блоков try/catch выделены в отдельные функции.
Функции выполняют 1 операцию.
Обработка ошибок – одна операция.
Нет магнитов зависимостей – классов или перечислений, импортируемых и используемых многими другими классами.
Нет дублирования алгоритмов.
Уменьшена вероятность ошибки.
Goto не используется.
Много return, break, continue допускается в компантных функциях.
В коде сначала излагаются мысли, а затем «причесываются».
Система рассматривается как история, которую нужно рассказать.
Комментарии – неизбежное зло.
Только код может правдиво сообщить, что он делает.
Свести использование комментариев к минимуму.
Комментирование – причина повысить качество кода.
Вместо юридических комментариев – ссылки на них.
Информацию лучше передавать в имени функции.
Использовать комментарии для информации о намерении.
Комментарии – в случае неудобочитаемых форм данных.
Комментарии для предупреждения о последствиях.
Комментарии TODO на будущее.
Комментарии для подчеркивания важности обстоятельства.
Не делать комментарии на скорую руку.
Комментирий не приводит к поиску расшифровки в других модулях.
Использовать аналог Javadoc.
Не комментировать бормотанием.
Не комментировать избыточно.
Комментарии точнее кода.
Комментарии точные и соответствуют коду.
Комментарий не вводит в заблуждение и не дезинформирует.
Бессмысленные или обязательные комментарии исключены.
Комментарий не повышает риск обмана и недоразумений.
Длинные журналы комментариев исключены.
Комментарии не загромождают и не усложняют код.
Комментарии-шумы исключены.
Комментарии не утверждают очевидное, не предоставляя новой информации.
Комментарии не бесполезны.
Комментарии не вызывают желания игнорировать их.
Комментарии не содержат эмоций.
Комментарии делают работу приятной и эффективной.
Комментарии не используются там, где можно использовать функцию или переменную.