Правила оформления исходного кода Delphi MIS3 — различия между версиями

Материал из ИбисоПедии
Перейти к: навигация, поиск
(Пример)
(Ссылки)
 
(не показана 1 промежуточная версия этого же участника)
Строка 148: Строка 148:
 
== Ссылки ==
 
== Ссылки ==
  
[[http://www.gunsmoker.ru/2010/07/blog-post_31.html Когда нужно писать комментарии]]
+
* [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

Ссылки