首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 原始碼格式撰寫規範(一)第 1 節:總則、縮排、Begin/End、空格與保留字/程序函數命名

     編輯:Delphi

本文為 Delphi 程式碼規範系列第一部分的第 1 節,確立規範目的、通用格式規則 (縮排、Begin/End、空格)、Object Pascal 語法規範 (保留字大小寫、程序/函數命名、參數規則、命名衝突解決)。

1. 規範簡介

目的:統一公司軟體開發人員原始碼撰寫習慣,使每位組員皆能閱讀理解他人代碼,便於二次開發與系統維護。
範圍:適用於所有納入配置管理的 Delphi 專案原始碼。

2. 一般格式規範

2.1 縮排

  • 每層級 2 個空格 (非 Tab)
  • 禁用 Tab 鍵:不同編輯器 Tab 寬度設定不一,導致顯示錯亂
  • 增加層級:begin、判斷 (if/case)、迴圈 (for/while/repeat)、異常處理 (try)、with、記錄/類別宣告
  • 減少層級:對應的 end、until、except/finally

// 正確:獨立行 begin/end,縮排 2 空格
if TmpInt <> 100 then
  TmpInt := 100; // 單行陳述式可不加 begin/end

// 多行區塊
for I := 0 to 10 do
begin
  DoSomething(I);
  DoAnother(I);
end;

2.2 Begin / End 獨立行

  • begin 與 end 必須獨佔一行
  • 單行陳述式可省略 begin/end

// 錯誤
for I := 0 to 10 do begin
end;

// 正確
for I := 0 to 10 do
begin
end;

2.3 空格規則

  • 運算子與邏輯判斷符號兩側各一空格:I := I + 1、a and b
  • 括號內側不加空格:if (a > b) then (非 if ( a > b ) then)
  • 參數列表:分號後加空格,逗號後加空格:procedure Test(Param1: Integer; Param2: string);

3. Object Pascal 語法撰寫格式規範

3.1 保留字/關鍵字

全部小寫:begin, end, if, then, else, for, to, do, while, repeat, until, try, except, finally, class, type, var, const, procedure, function, property 等。

3.2 程序與函數

3.2.1 命名與格式

  • 名稱由有意義單詞組成,每個單詞首字母大寫 (PascalCase)
  • 設定值程序/函數:Set 前綴 (如 procedure SetUserName)
  • 取得值程序/函數:Get 前綴 (如 function GetUserName: string)

// 錯誤
procedure formatharddisk;

// 正確
procedure FormatHardDisk;
function GetUserName: string;
procedure SetUserName(const Value: string);

3.2.2 參數宣告

  • 同類型參數合併宣告:procedure Foo(Param1, Param2, Param3: Integer; Param4: string);
  • 參數名有意義;與屬性/欄位同名時加 A 前綴:procedure SomeProc(AUserName: string; AUserAge: Integer);

3.2.3 命名衝突解決

當 uses 子句中多個單元包含同名程序/函數,後引用者生效。為避免「uses-clause-dependent」隱性 Bug,呼叫時必須加上單元前綴:


SysUtils.FindClose(SR);
Windows.FindClose(Handle);

核心原則速查表

項目規範關鍵字
縮排2 空格/層,禁 TabIndentation
Begin/End獨立行Block Structure
空格運算子雙側、參數逗號後Spacing
保留字全小寫Keywords
程序/函數名PascalCase,Set/Get 前綴Naming
參數同型合併、A 前綴避衝突Parameters
跨單元同名加單元前綴限定Qualification

這些基礎格式規範是團隊協作的「交通規則」,雖不影響編譯結果,卻決定了代碼的可讀性、可維護性與專業度。建議配合 Jedi Code Format (JCF) 或 IDE 內建 Format Source (Ctrl+D) 自動化執行,消除人工疏漏。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved