Типовые правила кодирования на C#
Начинающим project manager’ам, равно как и самостоятельным программистам, могут оказаться полезными приведенные (в довольно общем виде) правила кодирования на C#. На самом деле, список требований к исходному коду может составить и пару-тройку сотен пунктов, однако, для начала, попробуем ограничиться лишь небольшим набором обязательных правил (зачастую выстраданных неделями «тупежа» над кодом).
Итак:
- Любой тип и член типа должен иметь максимально ограничительный модификатор доступа.
- Никогда не используйте поля с модификатором public для классов, за редким исключением readonly полей для некоторых особо маленьких базовых классов. Допустимо использовать в структурах для оптимизации по скорости.
- Документирующие комментарии (тэги самодокументирования) обязательны! Должны быть достаточно подробно описаны ВСЕ, по крайней мере, public члены типов и их параметры.
- Не используйте indirect cast {A as B} там, где можно использовать direct {(B)A}.
- Объявляйте переменные как можно ближе к месту их использования.
- Если вам необходимо внутри цикла предусмотреть несколько вариантов исполнения кода в зависимости от значения переменной, которая не меняет своего значения внутри цикла, не используйте if или switch, используйте delegate.
- Максимально используйте generic-типы, generic-методы и паттерны проектирования для реализации схожей функциональности.
- Старайтесь не использовать тип object.
- Не размещайте несколько классов в одном файле .cs, за исключением, быть может, вложенных классов.
- Структура дерева проекта и имена namespace’ов должны максимально соответствовать друг другу.
- Разбивайте слишком длинные строки на несколько.
- Не используйте запись в форме:
C#: Select code if (…) return;
Вместо этого пишите:
C#: Select code if (…) return;
Удачи!
Обсуждение на форуме: http://usings.ru/forum/viewtopic.php?t=3