您好,登錄后才能下訂單哦!
.NET程序員得遵守的編碼習慣有哪些,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
小編將為大家介紹二十條.NET程序員不得不遵守的.NET編碼習慣。
1、不要硬編string/ numeric,可以使用一些常量代替。 (提高可讀性)
int Count; Count = 100; private static const int ZERO = 0; if( Count == ZERO ) { // 執行一些操作 }
2、對于字符串比較-使用String. Empty ,而不是""。
3、不要聲明成員變量為 public 或者proteted,盡量使用private 成員變量和public/protected 屬性。 (修改)
4、當我們要在循環操作字符串,使用StringBuilder,而不是字符串,示例如下。
不好的習慣:
String temp = String.Empty; for( int i = 0 ; i<= 100; i++) { temp += i.ToString(); }
好點的習慣:
StringBuilder sb = new StringBuilder(); for ( int i = 0 ; i<= 100; i++) { sb.Append(i.ToString()); }
5、簡單的操作,比起Collection更傾向使用Array。 (視情況,這里是建議)
VB.net編碼規范
再談ASP.NET緩存機制:開發效率與優化的
VB.NET編碼算法學習筆記
全方位分析VB.NET編碼規范
詳談VB.NET編碼規范經驗
6、比起ArrayList更傾向使用Generic Collection。 (視情況,這里是建議)
7、比起HashTable更傾向使用Generic Dictionary。 (視情況,這里是建議)
8、對于字符串的操作和存儲,傾向于StringCollection和StringDictionary。 (視情況,這里是建議)
9、使用適合的數據類型。
例如:你想要判斷狀態,使用bool比int要好。
不好的習慣:
int Check = 0; if( Check == 0 ) { // 執行一些操作 }
好點的習慣:
bool Check = false; if(!Check) { // 執行一些操作 }
10、使用as做類型轉換的時候,對轉換后的值進行null值判斷
class A { } class B : A { } B objB = new B(); A objA1 = (A) objB; A objA2 = objB as A; if( objA2 != null) { //執行所需的操作 }
11、創建wcf代理,可以使用using表達式。 (很多地方可以這樣使用)
using(Cerate the proxy) { //執行所需的操作 }
12、對于昂貴的資源(例如Connection, File 等等),遵照'Acquire late, release early’ (盡量晚的獲取,盡量早的釋放)準則。
例子:如果你想在數據操作時,使用的SqlConnection對象,請在方法級別,而不是在類級別創建實例。
代碼
class MyData { public MyData() { } public List<Customer> GetAllCustomer() { using (SqlConnection objConnection = new SqlConnection("Connection string")) { //執行一些操作得到需要的數據 } } }
如果你想創建的類級別SqlConnection實例,確保您的類實現了IDisposable接口,并在Dispose()中清理SqlConnection實例。
代碼
class MyData : IDisposable { SqlConnection objConnection ; public MyData() { objConnection = new SqlConnection("Connection string"); } public List<Customer> GetAllCustomer() { //通過objConnection得到需要的數據 } public void Dispose() { //清理SqlConnection實例 if( objConnection != null ) { if( objConnection.State == ConnectionState.Open) { objConnection.Close(); } } } }
13、如果你不想別人擴展你的類功能,使用‘sealed’。
14、避免為每個類都聲明‘destructor’ ,因為它會增加不需要常駐內存的類的生命周期。
15、相對manual threading,更傾向用Thread Pool 。
16、在循環內不要去調用其它方法。 (call function 有性能損耗)
例如:
不好的習慣:
for( int i = 0; i<= 100; i++) { Calculate(i); } 好點的習慣: for( int i = 0; i<= 100; i++) { //直接寫Calculate邏輯。 }
17、不要在循環內處理異常,而是將循環處理的邏輯放在try/catch里面
不好的習慣:
for(int i = 0 ; i<= 100; i++) { try { } catch(Exception ex) { throw ex; } }
好點的習慣:
try { for(int i = 0 ; i<= 100; i++) { } } catch(Exception ex) { throw ex; }
18、不用通過異常處理應用程序的邏輯
例如:
不好的習慣:
try { int x,y,z; x = 0; y = 10; z = y/x; } catch(DevideByZeroException ex) { Throw ex; }
好點的習慣:
try { int x,y,z; x = 0; y = 10; if( x != 0 ) { z = y/x; } } catch(Exception ex) { }
19、相對for/while ,傾向使用foreach循環。[更正]
20、使用多層架構的系統,層與層之間的交互,比起DataSet/DataTables更傾向于使用對象傳遞數據。
關于.NET程序員得遵守的編碼習慣有哪些問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。