1. 避免將多個類放在乙個檔案裡面。 (原子性)
2. 乙個檔案應該只有乙個命名空間,避免將多個命名空間放在同乙個檔案裡面。
3. 乙個檔案最好不要超過1000行的**。
4. 乙個方法的**長度最好不要超過50行。
5. 避免方法中有超過5個引數的情況。如果超過了,則應使用class來傳遞多個引數。
6. 每行**不要超過100個字元。
7. 避免利用注釋解釋顯而易見的**。
a) **應該可以自解釋。好的**本身就應具體良好的可讀性,所使用的變數和方法
命名一般情況下不需要注釋。
8. 不要硬編碼數字的值,盡量使用建構函式或可配置檔案設定其值。
9. 只有是自然結構才能直接使用const(常量),比如乙個星期的天數。
10. 每乙個方法都應該通過白盒方式的測試。 (unit test)
11. 在捕獲(catch)語句的丟擲異常子句中(throw),總是丟擲原始異常,用以維護原始錯誤
的堆疊分配。
catch(exception exception)
12. 避免方法的返回值是錯誤**。
13. 避免使用try catch 作為條件判斷語句。
14. 盡量不要提供public 和 protected的成員變數,使用屬性代替他們。
15. 在不是sealed的類中總是將public 和 protected的方法標記成virtual的。
16. 避免顯式的轉換,使用as操作符進行相容型別的轉換。
dog dog = new germanshepherd();
germanshepherd shepherd = dog as germanshepherd;
if (shepherd != null )
17. 當需要構建較長的字串的時候,應該考慮使用stringbuilder不要使用string來處理。
注:string每次要建立乙個新的例項,較占用空間,並產生了相對stringbuilder更大
過於頻繁的字串操作,採用stringbuilder是乙個良好的習慣。
18. 通常情況下避免有從system.object轉換來和由system.object轉換去的**,而使用
強制轉換或者as操作符替換。
19. 初始化類的例項時,除非十分必要,否則不要賦null值。
20. 設定方法必須以【set】開頭;如:setprice(product, decimal);
必須以【get】開頭;如:getprice(product);
必須以【add】開頭;如:addproduct(product);
必須以【list】開頭,如:listuser(string);
真假判斷的方法或屬性必須以【can】開頭,如:candelete(long)
真假判斷的方法或屬性必須以【is】開頭;如:isadministrator(user);
21. 對於相同功能的方法要盡量過載;
22. 類的私有成員, 第乙個單詞首字母小寫其餘首字母大寫, eg: isstudent;
23. 類的屬性名, 所有單詞的第乙個首字母都要大寫, eg: isstudent;
24.類、列舉、結構體的名字, 所有單詞的第乙個首字母都要大寫; eg: student;
25.除類的私有成員外的變數, 均為第乙個單詞首字母小寫其餘首字母大寫。eg: isstudent;
C 編碼規範
c 編碼規範 規範的制定原則 1 參照微軟在vs.net中,c 既有的規範來制定 2 方便 的交流和維護。3 不影響編碼的效率,不與大眾習慣衝突。4 使 更美觀 閱讀更方便。5 使 的邏輯更清晰 更易於理解。規範的遵守原則 1 如果是軟體外包專案,並且對方制定了 的編寫規範,則首先要遵守對方的編碼規...
C 編碼規範
c 編碼規範 1.目的 為了保證企業編寫出的程式都符合相同的規範,保證一致性 統一性而建立的程式編碼規範。2.範圍 適用於企業所有基於.平台的軟體開發工作。3.規範內容 3.1.格式 u 所有的縮排為4個空格,使用vs.的預設設定。u 在 中垂直對齊左括號和右括號。if x 0 不允許以下情況 if...
C 編碼規範
一 型別級單位的命名 1 類。以class 宣告的類,都必須以名詞或名詞短語命名,體現類的作用。如 class indicator 當類是乙個特性 attribute 時,以 attribute 結尾,當類是乙個異常 exception 時,以 exception 結尾 class colorset...