VisualStudio 2008c#程式設計規範
命名規範制定意義
1 方便程式碼的交流和維護,便於日後自己的再次閱讀。
2 不影響編碼的效率,不與大眾習慣衝突。
3 使程式碼更美觀、閱讀更方便。
4 使程式碼的邏輯更清晰、更易於理解
命名規範制定原則
首要原則
有意義的,描述性的詞語來命名。能夠一眼看出它作什麼。別使用會引起誤解的名字。如果名字一目瞭然,就無需用文件來解釋方法的功能了
1. 除約定俗成的,別用縮寫。用name, address, salary等代替 nam, addr, sal
2. 除用於迴圈,別使用單個字母的變數象i, n, x 等. 而要使用 index, temp等。
for ( int i = 0; i < count; i++ ){ ...}
其他習慣
l 除了介面控制元件外,不要使用型別字首。比如:使用名稱amount,而不是 intAmount;
l 類:使用名詞、名詞短語命名。比如:public class FileStream;
l 方法:使用動詞、動詞短語開始。比如:CreateUser(), RemoveAt()等;
l 介面:以 I 開始,後面加上名詞、名詞短語、形容詞命名。比如:IDisposable;
l 常量:所有單詞大寫,多個單詞之間用 "_" 隔開。public const string PAGE_TITLE = "Welcome";
l 名稱空間:基本格式:
CompanyName/ProjectName.TechnologyName[.Feature][.Design]
a) CompanyName/ProjectName:公司名、專案名稱或產品名稱;
b) TechnologyName:穩定的、公認的技術名稱或架構層次名稱;
c) [.Feature][.Design]:可選的功能與設計;
規範
1、用pascal規則來命名方法和類.(第一個單詞首字母大寫,後面連線的每個單詞首字母都大寫)
public class DataBase ;public void GetDataTable()
2、類:使用名詞、名詞短語命名。比如:public class FileStream;
2.用camel規則來命名區域性變數和方法的引數. (第一個單詞不大寫,後面連線的單詞首字母大寫)
public void AddUser(string userId, byte[] password)
{ string userName;}
3.所有的成員變數前加字首 _
public class Database
{ private string _connectionString; }
4.介面的名稱加字首 I
interface ICompare
{ int compare(); }
5.自定義程式碼屬性類以Attribute結尾
public class OperationAttribute : Attribute
6.自定義的異常以Exception結尾
public class AppException : Exception
7.方法的命名.一般將其命名為動賓短語,“動詞+物件”.
GetRecordData();GetPath();CreateFile();
8.程式碼的縮排.要用Tab,而不要用space.
9. 使用帶有說明性的變數名。
(a)避免單字串的變數名,使用類似於index或temp這樣有意義的名字。
(b)對於public或protected型別的變數避免使用匈牙利表示法。
(c)不要縮寫單詞。
10. 所有的類成員變數應該被宣告在類的頂部,並用一個空行把它們和方法以及屬性的宣告區分開.
11.用有意義的名字命名namespace,如:產品名、公司名.
12.建議區域性變數在最接近使用它時再宣告.
13.使用某個控制元件的值時,儘量命名區域性變數.
14.把引用的系統的namespace和自定義或第三方的用一個換行把它們分開.
15.檔名要能反應類的內容,最好是和類同名,一個檔案中一個類或一組關連類.
16.目錄結構中要反應出namespace的層次.
17.大括號"{"要新起一行 .
18.在和你的程式碼縮排處於同一個級別處為該行程式碼新增註釋
控制元件命名
控制元件的名稱中需要加上字首,之所以這樣做是為了區分介面的控制元件和普通的物件,由於介面修改往往非常頻繁,區分開來能使你更快速的找到控制元件,從而修改介面。舉一個例子:
介面有10個TextBox、10個Label。一個TextBox對應一個Label,為了完成讀寫,你至少要有20條語句來從控制元件進行取、賦值操作,如果有字首的話,輸入this.txt,你就幾乎馬上能找到這個控制元件。反之,如果沒有字首,由於視窗或頁面物件擁有大量的屬性和變數(>100個),你將花費大量時間來查詢。另外一個TextBox對應一個Label(一個代表值,一個代表名稱),它們往往指同一樣事物,如果有字首,就很容易區分這兩個控制元件。
控制元件 |
字首 |
控制元件 |
字首 |
控制元件 |
字首 |
Label |
lbl |
CompareValidator |
cv |
|
|
TextBox |
txt |
RangeValidator |
rv |
|
|
Button |
btn |
RegularExpressionValidator |
rev |
|
|
CheckBox |
chk |
ValidatorSummary |
vs |
|
|
RadioButton |
rdo |
GridView |
gv |
|
|
CheckBoxList |
cbl |
MultiView |
mv |
|
|
RadioButtonList |
rbl |
View |
vw |
|
|
ListBox |
lst |
HiddenField |
hf |
|
|
DropDownList |
ddl |
|
|
|
|
DataGrid |
dg |
|
|
|
|
DataList |
dl |
|
|
|
|
Image |
img |
|
|
|
|
Table |
tbl |
|
|
|
|
Panel |
pnl |
|
|
|
|
LinkButton |
lbt |
|
|
|
|
ImageButton |
imgbtn |
|
|
|
|
Calender |
cld |
|
|
|
|
RequiredFieldValidator |
rfv |
|
|
|
|
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-446850/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JS程式設計規範JS程式設計
- React程式設計規範React程式設計
- java程式設計規範Java程式設計
- 程式設計小記-程式設計規範程式設計
- python程式設計規範Python程式設計
- C#程式設計規範C#程式設計
- Go 語言程式設計規範Go程式設計
- 微信小程式元件設計規範微信小程式元件
- JavaScript模組化程式設計規範JavaScript程式設計
- python 的程式設計規範Python程式設計
- iOS 團隊程式設計規範iOS程式設計
- C#程式設計命名規範C#程式設計
- 程式設計命名規範(網文)程式設計
- MySQL資料庫規範 (設計規範+開發規範+操作規範)MySql資料庫
- python 程式設計規範有哪些?Python程式設計
- 解讀阿里java程式設計規範阿里Java程式設計
- C語言程式設計基本規範C語言程式設計
- 自己整理的java程式設計規範Java程式設計
- Shell程式設計規範與變數程式設計變數
- 上位機程式設計編碼規範程式設計
- 名片設計規範
- MySQL 規範 (資料庫表設計規範)MySql資料庫
- “程式設計不規範,同事兩行淚!”程式設計
- 併發程式設計的12條規範程式設計
- 01 shell程式設計規範與變數程式設計變數
- JavaScript 模組化程式設計(二):AMD規範JavaScript程式設計
- Javascript模組化程式設計(二):AMD規範JavaScript程式設計
- 大話資料庫程式設計規範資料庫程式設計
- Linux專案組程式設計規範Linux程式設計
- Python程式設計規範+最佳實踐Python程式設計
- 華為程式設計規範,程式碼驗收標準。程式設計
- API 介面設計規範API
- Rest Framework設計規範RESTFramework
- RESTful API 設計規範RESTAPI
- “程式設計不規範 親人淚兩行”程式設計
- SAP官方釋出的ABAP程式設計規範程式設計
- 我總結的Android程式設計規範Android程式設計
- Android程式設計規範不完全指南Android程式設計