c# 編寫規範
一、兩種命名風格:
1.pascal風格 大駝峰命名法
包含乙個到多個單詞,每個單詞首字母大寫,其餘字母均小寫。例如:helloworld、setname等等。
2.camel風格小駝峰命名法
包含乙個到多個單詞,第乙個單詞首字母小寫,其餘單詞首字母大寫。例如:name、productid等等。
二、識別符號的大小寫規則
1.引數和變數的命名使用camel風格。
2.除引數和變數外,所有命名空間、類、函式、介面、屬性等名稱的命名,使用pascal風格。
三、命名約定
1.使用易讀的英文名稱。
2.下劃線。其他非字母數字字元不要用。
3.避免命名衝突,與關鍵字、命名空間、類、函式、介面、屬性等名稱的衝突。
4.不要使用縮寫單詞,除非它已被廣泛接受、婦孺皆知。
四、命名空間命名
1.命名空間採用pascal風格,取名一般為 人名.專案名稱 ,例如:zhangsan.projectname\zhangsan.office 。
2.需要用複數時,用複數。例如:system.collections 。
3.需要縮寫時,不需要加複數,例如:system.io 。
五、類、結構、介面 的命名
1.類、結構、介面 使用pascal風格,使用名詞名詞短語為類、介面和值型別命名。
2.介面以大寫字母i為字首,例如:icomponent。
3.派生類的末尾帶上基類的名稱。
六、邏輯類命名
1.按照pascal風格,使用名詞或名詞短語命名,並加上字尾logic 。
七、資料夾命名
1.資料夾以功能模組的名稱按照pascal風格命名。比如後端管理功能及許可權相關功能,全部放到system資料夾裡。
八、**編碼規範
1.縮排,【tab】鍵;回退縮進,【shift】+【tab】。縮排八個置位符。
2.注釋須和**對齊。多使用#regedit 和 #endregion **塊。
3.**中垂直對齊左括號和右括號。
4.適當增加空行,來增加**的可讀性。
5.避免使用大檔案。**檔案多大,可分多個檔案寫。
6.避免寫冗長的方法。
7.在運算子之前和之後使用空格,增加**的可讀性。
8.出密碼外,一般可供使用者輸入的字段值,必須忽略前後空白(不包含密碼)。
9.在對字段值進行有效性驗證時,對提交進資料庫的內容必須進行sql注入過濾與xss過濾。
10.乙個方法只完成乙個任務。不要把多個任務組合到乙個方法中,即使那些任務非常小。
11.避免使用很多成員變數,宣告區域性變數,並傳遞給方法。
12.不要在方法間共享成員變數,如果在幾個方法間共享乙個成員變數,那就很難知道是哪個方法在什麼時候修改了它的值。
13.不在**中使用具體路徑和驅動器名,使用相對路徑,並使路徑可程式設計。永遠別設想你的**是在「c:
」盤執行。你不會知道,一些使用者在網路上或「z:
」盤執行程式。
14.應用程式啟動時進行「自檢
」並確保所需檔案和附件在指定位置。如果需要的配置檔案找不到,應用程式需自己建立使用預設值的乙份。如果在配置檔案中發現錯誤值,應用程式要丟擲錯誤,給出提示訊息告訴使用者正確值。
15.出現任何問題給使用者乙個有好的提示。錯誤訊息能幫助使用者解決問題。永遠不要寫一些籠統的提醒,如
「應用程式出錯」、
「發現乙個錯誤
」等,而應寫具體的錯誤提醒,如
「資料庫更新失敗,請確保登陸id和密碼正確
」。顯示錯誤訊息時,除了說**錯了,還應提示使用者如何解決問題。
16.錯誤處理和異常事件。
16.1.不要捕捉了異常卻什麼也不做。如果隱藏乙個異常,你將永遠不知道異常到底發生了沒有。
16.2.發生異常時,給使用者提示友好的訊息,但要精確記錄錯誤的所有可能細節,包括發生的時間和相關方法、類名。
16.3.別寫太大的try-catch模組。如果需要,為每個執行的任務編寫單獨的try-catch模組。這將很容易找出哪一段**產生異常,並給使用者發出特定的錯誤訊息。
編寫規範C 傳值
如果想改變實參的值,用引用或者指標,返回值應與形參型別一致,指標返回指標,引用返回引用 複製物件的操作 class raw2d 3 strcmp的返回值問題 摘自所在標頭檔案 string.h 功能 比較字串s1和s2。一般形式 strcmp 字串1,字串2 說明 當s1當s1 s2時,返回值 0 ...
程式編寫規範
排版 原則 團隊應遵守一致的排版風格 規則1 在不同的概念之間,增加空行。如import與包名,import與類名,方法與方法,類與類,變數宣告與變數宣告。規則2 將邏輯緊密相關的 放在一起。規則3 控制一行的寬度,不要超過120個字元。換行應在低優先順序運算子處換行。規則4 控制一行的寬度,在不同...
javascript編寫規範
變數和函式 變數名應當遵循camel case,並且命名字首應當是名詞。以名詞作為字首可以讓變數和函式區分開來,因為函式名字首應當是動詞。比如 var count 10 var myname nicholas function getname 函式和方法常用單詞 can has is get set...