Правила оформления исходного кода Delphi MIS3 — различия между версиями
Материал из ИбисоПедии
Zhukov (обсуждение | вклад) м (Zhukov переименовал страницу Правила оформления исходного года Delphi MIS3 в Правила оформления исходного кода Delphi MIS3: опечатка) |
Admin (обсуждение | вклад) (→Ссылки) |
||
| (не показано 11 промежуточных версий 2 участников) | |||
| Строка 1: | Строка 1: | ||
== Комментарии == | == Комментарии == | ||
| − | Все комментарии создаются в формате DOC | + | Все комментарии создаются в формате XML DOC documentation [http://www.devjetsoftware.com/wp-content/uploads/Delphi-Documentation-Guidelines.pdf] |
| − | |||
=== Обязательность комментариев === | === Обязательность комментариев === | ||
| Строка 11: | Строка 10: | ||
самый простой комментарий в заголовке файла | самый простой комментарий в заголовке файла | ||
| − | <source | + | <source > |
// Редактор стандарта | // Редактор стандарта | ||
// Author: Zhukov | // Author: Zhukov | ||
| Строка 18: | Строка 17: | ||
=== Формат комментариев === | === Формат комментариев === | ||
=== Пример === | === Пример === | ||
| + | |||
| + | '''Внимание пример устарел, и нужно сделать другой, соответствующий XMLDOC!!''' | ||
Последний пример оформления *.pas файла находится на SVN | Последний пример оформления *.pas файла находится на SVN | ||
| − | * [здесь должна быть ссылка] | + | * '''[здесь должна быть ссылка]''' |
В этой папке также находится шаблон для CNWizaard | В этой папке также находится шаблон для CNWizaard | ||
| − | <source | + | <source > |
{**************************************************************************} | {**************************************************************************} | ||
{ } | { } | ||
| Строка 107: | Строка 108: | ||
policlinic.(exe,dpr) – самостоятельные приложения; | policlinic.(exe,dpr) – самостоятельные приложения; | ||
| − | fName.dfm – файл формы | + | * файлы, содержащие форму именуются с префиксом <f>. Например fName.dfm – файл формы fName.pas – юнит формы; |
| − | fName.pas – юнит формы; | + | * модули, содержащие невизуальные процедуры и функции именуются с префиксом <u>. Например |
| − | uName.pas | + | uName.pas ; |
| − | + | * файлы содержащие наследника от класса TIBISWinList должны заканчиваться на <List> | |
| + | * файлы содержащие наследника от класса TWinOnTask должны заканчиваться на <WOT> | ||
| + | * версия исполняемого файла совпадает с номером ревизии svn | ||
| − | + | === Именования компонент === | |
| − | |||
общее правило должен быть префикс из двух букв | общее правило должен быть префикс из двух букв | ||
| Строка 122: | Строка 124: | ||
* pmName – PopupMenu; | * pmName – PopupMenu; | ||
* miName – MenuItem; | * miName – MenuItem; | ||
| − | * | + | * laName – Label; |
| − | * | + | * edName – Edit, MaskEdit, SpinEdit… и т.п., используемые для ввода данных; |
| − | * | + | * deName – DataEdit и пр. для ввода даты; |
* dtName – TimeEdit и пр. для ввода времени; | * dtName – TimeEdit и пр. для ввода времени; | ||
| − | * | + | * bbName – Button, SpeedButon и т.п.; |
| − | * | + | * ckName – CheckBox, |
| + | * cbName - ComboBox; | ||
* rbName – RadioButton; | * rbName – RadioButton; | ||
* rgName – RadioGroup; | * rgName – RadioGroup; | ||
| Строка 137: | Строка 140: | ||
* tsName – TabSheet; | * tsName – TabSheet; | ||
* dsName – DataSource; | * dsName – DataSource; | ||
| − | * uqName - | + | * uqName - TUniquery |
и т.д. сокращая названия классов: TSaveDialog =sdName… если принятые наименования не используются – оставлять изначальные (Lable1, dxDBMemo1, FormStorage1…) | и т.д. сокращая названия классов: TSaveDialog =sdName… если принятые наименования не используются – оставлять изначальные (Lable1, dxDBMemo1, FormStorage1…) | ||
| − | Можно использовать соответствующий визард из [[cnWizards]] | + | Можно использовать соответствующий визард из [[cnWizards]] |
| − | + | == Ссылки == | |
| + | * [http://www.gunsmoker.ru/2010/07/blog-post_31.html Когда нужно писать комментарии] | ||
| + | * [[Формат комментариев в VCS]] | ||
[[Категория:Руководство программиста MIS3]][[Категория:Delphi]] | [[Категория:Руководство программиста MIS3]][[Категория:Delphi]] | ||
Текущая версия на 10:32, 14 сентября 2020
Содержание
Комментарии
Все комментарии создаются в формате XML DOC documentation [1]
Обязательность комментариев
Обязательно заполнять комментарии
- в заголовке файлов *.pas, *.dpr
- публичные методы и свойства
самый простой комментарий в заголовке файла
// Редактор стандарта
// Author: ZhukovФормат комментариев
Пример
Внимание пример устарел, и нужно сделать другой, соответствующий XMLDOC!!
Последний пример оформления *.pas файла находится на SVN
- [здесь должна быть ссылка]
В этой папке также находится шаблон для CNWizaard
{**************************************************************************}
{ }
{ Название проекта. }
{ Пример оформления исходного когда для комментариев Doc-O-Matic 6 Express}
{ Author: Zhukov }
{ ## Copyright (C) 2014 Oblteh }
{ ## Комментарии Doc-o_Matic }
{**************************************************************************}
// History:
// <table>
// 2014.07.04 Zhukov Сделал нашлепку которая прерывает при фетче датасета
// 2014.07.04 Ivanov Создал модуль
// </table>
// ## Пример оформления истории изменений в таблице
// ## Историю можно писать простыми комментариями
unit uTemplate;
interface
procedure Test1;
procedure Test2(Param1:Integer; Prama2: String);
function Test3(S:String) : Integer;
implementation
//Простое описание процедуры
procedure Test1;
begin
end;
//------------------------------------------------------------------------------
// Description: Возвращает дату первого числа квартала, который больше квартала
// переданной даты на число, здесь показан только пример. В описании
// слова можно выделять <B> жирным </B>, <I> наклонным </I>,
// <u>подчеркнутым</u>, кусок кода: <c> begin end </c>,
// <sub> subscript</sub>or<sup>superscript</sup>
// Author: Zhukov
// Parameters: Param1 - дата квартала. Типы параметров Doc-O-Matic добавит сам
// Prama2 - количество добавляемых кварталов
// Returns: Дату первого числа квартала
procedure Test2(Param1:Integer; Prama2: String);
begin
end;
//------------------------------------------------------------------------------
// Short: Пример развернутого описания функции.
//Description: Это премер еще одного описания функции. Можно вставить таблицу:
// <table>
// заголовок 1 заголовок 2
// ----------- -----------
// строка 1 Строка 1
// строка 2 Строка 2
// </table>
// Можно вставлять список:
// * Список
// * Список
// * Список
// Author: Zhukov
// ## Date: 09.06.2008 11:22:47
// Parameters: S - в функцию передаем строку.
// Returns: Количество символов в строке.
// Examples:
// <code lang="pascal">
// a := Test3('АБВГДЕ');
// </code>
// Note: Эта функция не работает.
// Glossary: Test3
// TODO: Написать тело процедуры.
function Test3(S:String) : Integer;
begin
end;
end.Именование объектов
Названия файлов
policlinic.(exe,dpr) – самостоятельные приложения;
- файлы, содержащие форму именуются с префиксом <f>. Например fName.dfm – файл формы fName.pas – юнит формы;
- модули, содержащие невизуальные процедуры и функции именуются с префиксом . Например
uName.pas ;
- файлы содержащие наследника от класса TIBISWinList должны заканчиваться на <List>
- файлы содержащие наследника от класса TWinOnTask должны заканчиваться на <WOT>
- версия исполняемого файла совпадает с номером ревизии svn
Именования компонент
общее правило должен быть префикс из двух букв
- fmMain – главная форма приложения;
- fmName – форма;
- mmName – MainMenu;
- pmName – PopupMenu;
- miName – MenuItem;
- laName – Label;
- edName – Edit, MaskEdit, SpinEdit… и т.п., используемые для ввода данных;
- deName – DataEdit и пр. для ввода даты;
- dtName – TimeEdit и пр. для ввода времени;
- bbName – Button, SpeedButon и т.п.;
- ckName – CheckBox,
- cbName - ComboBox;
- rbName – RadioButton;
- rgName – RadioGroup;
- lbName – ListBox, LookUpEdit и т.п.;
- ilName – ImageList;
- alName – ActionList;
- aсName – Action;
- pcName – PageControl;
- tsName – TabSheet;
- dsName – DataSource;
- uqName - TUniquery
и т.д. сокращая названия классов: TSaveDialog =sdName… если принятые наименования не используются – оставлять изначальные (Lable1, dxDBMemo1, FormStorage1…)
Можно использовать соответствующий визард из cnWizards