Вы смешиваете две разные вещи.
Вы говорите о стиле кодирования, но затем упоминаете тестовое покрытие, метрики и т. Д.
Стиль кодирования, безусловно, может быть указан - все требования документа должны указывать, что «В целях поддержания и согласованности кода этот проект будет следовать этим стилям и стандартам кодирования».
Однако, как правило, большинство проектов просто требуют «Надлежащей отраслевой практики» и «согласованного стиля кодирования для всего проекта» и оставляют фактическое определение и реализацию этого на усмотрение разработчиков.
Однако, другие вопросы, которые вы обсуждаете, плохой код, требующий рефакторинга, тесты, покрытие и т. Д. (Я бы также добавил LINT и статический анализ), должны быть явно указаны и обязательны. Нет причин оставлять их вне спецификации - они являются жесткими метриками, которые показывают, какой тип ошибок кодирования (или попадание на нечеткую грань между стилем и плохим кодом, какой тип шаблонов кодирования могут привести к ошибочному коду) в любом конкретном коде, насколько хорошо он работает и насколько хорошо тесты показывают правильную работу.
В крупных проектах заказчик будет сидеть с ведущими разработчиками и изучать конфигурацию LINT, например, чтобы убедиться, что она соответствует их потребностям, и что никакие несерьезные ошибки не замедляют разработку.
Итак, в общем, да, все это можно (и нужно, ИМХО) указывать для любого значимого проекта.
-Adam