VisualStudio 2008c 程式設計規範

2021-05-11 01:14:49 字數 2352 閱讀 2870

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)

3.所有的成員變數前加字首 _ 

public class database 

4.介面的名稱加字首 i

inte***ce icompare 

5.自定義**屬性類以attribute結尾

public class operationattribute : attribute 

6.自定義的異常以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(乙個代表值,乙個代表名稱),它們往往指同一樣事物,如果有字首,就很容易區分這兩個控制項。

200 島嶼數量

複雜度分析 時間複雜度 o m n 其中 m 和 n 分別為行數和列數。空間複雜度 最壞情況下為 o m n 此時整個網格均為陸地,深度優先搜尋的深度達到m n。class solution int numislands vector grid int cnt 0 for int i 0 i gri...

200 島嶼數量

leetcode 200.島嶼數量 島嶼另一種型別 求周長 leetcoed 463.島嶼的周長 廣度優先遍歷 bfs 深度優先遍歷 dfs 2.1 dfs 就是遇到乙個 1 遞迴下去繼續找 1 四周沒有 1 之後,逐層返回到上一層找四周剩餘的 1 本題不需要回溯 直接把 訪問過的標記即可 廣度優先...

200 島嶼數量

給你乙個由 1 陸地 和 0 水 組成的的二維網格,請你計算網格中島嶼的數量。島嶼總是被水包圍,並且每座島嶼只能由水平方向和 或豎直方向上相鄰的陸地連線形成。此外,你可以假設該網格的四條邊均被水包圍。示例 1 輸入 grid 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0...