-
Между членами типа (поля, конструкторы, свойства, методы и т.п.) должны быть отступы в виде пустой строки. Отступы не стоит делать между каждыми двумя полями, константами и событиями.
Классы, в кот…
-
Спецификаторы доступа всех членов типа (класса или структуры) должны быть указаны явно.
Поля, для которых данное правило не соблюдается:
- `LifeGame.CursorX.positinX`.
- `LifeGame.CursorX.positin…
-
Спецификатор доступа, модификаторы и название типа должны быть отделены одним пробелом друг от друга и располагаться в следующем порядке: спецификатор доступа, модификаторы, идентификатор.
При указан…
-
Идентификаторы должны быть информативны и описывать свое предназначение.
Методы, для идентификаторов которых данное правило не соблюдается:
- `LifeGame.Universe.GetList`.
Поля, для идентификато…
-
Между членами типа (поля, конструкторы, свойства, методы и т.п.) должны быть отступы в виде пустой строки. Отступы не стоит делать между каждыми двумя полями, константами и событиями.
Классы, в кот…
-
При создании идентификаторов необходимо придерживаться следующих конвенций именования:
- `camelCase` - переменные, поля, параметры.
- `PascalCase` - пространства имен, типы (классы, структуры и т.п.…
-
Спецификаторы доступа должны быть как можно более защищенными для каждого члена класса или структуры. В качестве исключения можно использовать `public` вместо `internal` если весь тип содержащий данны…
-
При описании типа данных (класса, структуры или интерфейса) необходимо соблюдать следующий порядок объявления членов.
- Константы.
- Статические `readonly` поля.
- Статические поля.
- Объектные `r…
-
При выборе типа константы, поля, параметра, возвращаемого значения или переменной необходимо отдавать предпочтение наиболее базовому интерфейсу, который обладает требуемой функциональностью. Другими с…
-
При использовании общеупотребимых идентификаторов существуют определенные устои, отвечающие за порядок их следования, которые знакомы большинству программистов. Нарушение этих устоев в интерфейсе клас…