Delphi コード作成フォーム仕様 この仕様の目的: コードに統一された標準的な外観を与えること、
読みやすさ、わかりやすさ、保守性
この仕様の原則: 名前は意味を反映し、形式は構造を反映します
1. ユニットスタイル
2.各地区のスタイル
3. 発言スタイル
4. 命名規則
参考:Borland 公式 Object Pascal スタイルガイド
Delphi5 プログラマー向けコーディング標準ガイド
{ }
{プロジェクト名}
{ }
{著作権 (C) 2000,2001 会社名}
{ }
{************************************************ ***** ******}
ユニットユニット名;
{************************************************ ***** ******
プロジェクト:
モジュール:
説明する:
バージョン:
日付:
著者:
更新する:
TODO:
************************************************* * *****}
インタフェース
用途
----、----、----、----、----、----、----、----、----、----、 ----、
----、----、----、----、----、----;
定数
------------------;
------------------;
------------------;
タイプ
------------------;
------------------;
------------------;
------------------;
------------------;
------------------;
変数
------------------;
------------------;
------------------;
実装
用途
----、----、----、----;
{$R *.RES}
{$R *.DFM}
--------------------------------;
--------------------------------;
--------------------------------;
--------------------------------;
--------------------------------;
--------------------------------;
--------------------------------;
--------------------------------;
--------------------------------;
--------------------------------;
--------------------------------;
--------------------------------;
終了.戻る
トピックのコメント、関数プロシージャの目的の説明、ステートメントのコメント
空行: 著作権ブロック、クラス間、メソッド間 -- (2 行) メソッドの内部ブロック (1 行)
スペース: 明瞭さを高めるために使用されます
インデント: スペース 2 つ
----- = ----;
----- = ----;
----- = ----;
----- = ----;拡張子
プレフィックス: トピックあたり最大 1 つのプレフィックス
定数
{ トピック 1 }
C_--- = ---- {意味}
C_--- = ---- {意味}
C_--- = ---- {意味}
C_--- = ---- {意味}
{ トピック 2 }
----- = ----;
----- = ----;
----- = ----;
----- = ----; 変数領域の後に配置されるリソース文字列
リソース文字列
定数
S__--- = '----';
S__--- = '----';
S__--- = '----';
例: CM_BASE = $B000;
CM_ACTIVATE = CM_BASE + 0;
CM_DEACTIVATE = CM_BASE + 1;
CM_GOTFOCUS = CM_BASE + 2;
CM_LOSTFOCUS = CM_BASE + 3;
NumPaletteEntries = 20;
BoxPoints : GLfloat の array[0..5, 0..2] =
((-1, 0, 0),
(0、1、0)、
(1、0、0)、
(0、-1、0)、
(0、0、1)、
(0, 0, -1) );
{ バリアント型コード (wtypes.h) }
varEmpty = $0000;
varNull = $0001;
varSmallint = $0002 { vt_i2 }
GIFVersions : TGIFVersionRec = ('87a', '89a') の array[gv87a..gv89a];
T---- = ---------
オブジェクトタイプ --> ステートフルでサービスを提供するエンティティ
T---- = クラス(----)
プライベート
--------
--------
保護された
--------
--------
公共
--------
--------
出版された
--------
--------
アルファベット順に並べ替えます。
1. F で始まるすべてのデータはプライベート領域に配置されます。
2. すべてのイベント属性に対応するメソッド ポインタは、F から始まるプライベート領域に配置されます。
3. 属性の Get メソッドと Set メソッドはプライベート領域に配置されます --> 継承する準備ができていません。
4. メッセージに応答するメソッドはプライベート領域に配置されます。
保護された
1. サブクラスによって呼び出されるが、外部からは呼び出すことができないメソッドおよび属性
2. virtual をオーバーロードするサブクラスのメソッド。
公共
1. デストラクターメソッドを構築する
2. 外部呼び出しのメソッド
3. 外部呼び出しの属性
出版された
1. 設計用途のためにオブジェクト インスペクターに表示されるプロパティ
2. 設計時にオブジェクト インスペクターに表示されるイベント応答の例: TGIFVersion = (gvUnknown, gv87a, gv89a);
TGIFVersionRec = 文字の配列[0..2];
PInterfaceTable = ^TInterfaceTable;
TInterfaceTable = パックされたレコード
EntryCount: 整数。
エントリ: TInterfaceEntry の array[0..9999]。
{ forWord 宣言 }
TGIFImage = クラス;
TGIFSubImage = クラス;
{--------------------------
TGIFアイテム
------------------------}
TGIFItem = クラス(TPersistent)
プライベート
FGIF画像: TGIF画像;
…………
終わり;
デフォルトのクラスオブジェクト変数を持たないように注意してください。呼び出し元で宣言してください。
変数
-----------: -------;
-----------: -------;
例:
GIFDelayExp: integer = 10 { ミリ秒単位の遅延乗数}
GIFDelayExp: 整数 = 12;
テーマ
-------------------------------------------------- --------}
{方法の目的}
手順 - - - - - - - - - - - - - -
始める
--------;
--------;
終わり;
{方法の目的}
関数 - - - - - - - - - - - - - - -
始める
--------;
--------;
終わり;
フォーマットリターン