SASGIS

Веб-картография и навигация

SAS.Wiki

Веб-картография и навигация

Инструменты пользователя

Инструменты сайта


sasdev:соглашения_по_исходному_коду

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

sasdev:соглашения_по_исходному_коду [04/03/2015 10:02]
vdemidov
sasdev:соглашения_по_исходному_коду [10/01/2020 16:35] (текущий)
213.91.147.82 [Длина строки.]
Строка 31: Строка 31:
  
 ====== Форматирование кода ====== ====== Форматирование кода ======
 +===== Длина строки. =====
 +Мы предпочитаем делать строки короткими и наглядными. Короткие строки не только более читабельны,​ но и позволяют задавать операторы в более простой форме (особенно,​ когда они используются с описательными именами переменных). Методы,​ состоящие из серий коротких простых операторов,​ легче для восприятия и модифицирования. Даже диффы в результате точнее показывают,​ что поменялось между коммитами.
  
 ===== Блоки Uses ===== ===== Блоки Uses =====
-Название каждого юнита с новой строки примерно в таком порядке:​+Название каждого юнита с новой строки ​(опять же для упрощения диффов) ​примерно в таком порядке:​
   * Системные юниты (SysUtils, Types и тд.)   * Системные юниты (SysUtils, Types и тд.)
   * Юниты библиотек (GR32, KAZip и тд.)   * Юниты библиотек (GR32, KAZip и тд.)
Строка 46: Строка 48:
 ===== Идентификаторы ===== ===== Идентификаторы =====
 В именах типов, классов,​ методов,​ переменных,​ параметров и тд. Нужно использовать CamelCase. В именах типов, классов,​ методов,​ переменных,​ параметров и тд. Нужно использовать CamelCase.
 +
 Сразу за именем переменной должно стоять двоеточие,​ потом пробел,​ потом имя типа. Сразу за именем переменной должно стоять двоеточие,​ потом пробел,​ потом имя типа.
 +
 Пример:​ Пример:​
 +
  ​VOperationID:​ Integer;  ​VOperationID:​ Integer;
  
Строка 57: Строка 62:
   * **A** Параметр функции   * **A** Параметр функции
   * **C** Константа   * **C** Константа
 +
 +Объявление полей класса только по одному на строку с указанием типа для каждого.
 +
 +Объявление локальных переменных - в большинстве случаев по одному на строку типа для каждой переменной отдельно (исключение простые счетчики)
 +
 +Объявление параметров функций и процедур - по возможности указывать тип для каждой переменной отдельно,​ если параметров больше чем один-два,​ то каждый параметр должен расположен на отдельной строке.
 +
 +Пример кода:
 +
 +    function FindItems(
 +      const AVisualConverter:​ ILocalCoordConverter;​
 +      const ALocalPoint:​ TPoint
 +    ): IVectorItemSubset;​
 +    ​
 +    constructor Create(
 +      const ARootFolderName:​ WideString;
 +      const AFolderNameFromRoot:​ WideString;
 +      const AFileMask: WideString;
 +      const AFilesOnly: Boolean
 +    );
 +
 +
 ===== Форматирование кода ===== ===== Форматирование кода =====
 Необходимо соблюдать отступы. Необходимо соблюдать отступы.
Строка 69: Строка 96:
  
 end располагается на новой строчке с тем же отступом,​ что и команда к которой он относится end располагается на новой строчке с тем же отступом,​ что и команда к которой он относится
- 
-Длинна строки. Мы предпочитаем делать строки короткими и наглядными. Короткие строки не только более читабельны,​ но и позволяют задавать операторы в более простой форме (особенно,​ когда они используются с описательными именами переменных). Методы,​ состоящие из серий коротких простых операторов,​ легче для восприятия и модифицирования. Даже диффы в результате точнее показывают,​ что поменялось между коммитами. 
  
 Пример кода: Пример кода: