天天看點

C#代碼規範

1.注釋寫在上面,充分利用C#的提示

C#代碼規範

2.短路寫法,把大量的前提預先處理,可以讓代碼實作邏輯更清晰,并能有效的所見代碼嵌套深度

C#代碼規範

3.要常用自帶的Action Func Predicate委托類型

不要引入額外的類型 增加負擔

<a href="http://www.cnblogs.com/akwwl/p/3232679.html">http://www.cnblogs.com/akwwl/p/3232679.html</a>

Delegate至少0個參數,至多32個參數,可以無傳回值,也可以指定傳回值類型

  Func可以接受0個至16個傳入參數,必須具有傳回值

  Action可以接受0個至16個傳入參數,無傳回值

  Predicate隻能接受一個傳入參數,傳回值為bool類型

原來的寫法:

C#代碼規範
C#代碼規範

修改之後:

C#代碼規範
C#代碼規範

4.容器不要直接public,要容器自己權限操作,如果代碼量大的話不利于維護,出現一個bug不知道從哪兒操作

5.多用var,C#不需要太關注類型

C#代碼規範

6.挂事件要對應着減事件,以免記憶體洩露

在Start中+=事件,就要立馬寫對應的OnDestroy()中-=事件

7.任務的單詞不要用task用quest

8.變量命名規範

*例如事件不要以event結尾,class不要以class結尾

9.EventHandler如果确定不需要sender,可以考慮用Action

10.public的方法首字母大寫

11.如果方法是GetXXX,那麼傳回不能是void,必須有傳回值

12.C++裡面的byte類型或者uint類型 int類型枚舉采用C#強類型枚舉

C#代碼規範

或者參數裡是uint或者int這種情況也要使用強類型枚舉

C#代碼規範

或者字段屬性是uint類型也要使用強類型枚舉

C#代碼規範

或者字典的key

C#代碼規範

13.xml屬性=左右不需要空格

C#代碼規範

14.C++/Unity中的C#采用Pascal命名規則,js/ts采用camel命名規則

C#代碼規範

前面屬于camel命名規則,後面屬性Pascal命名規則

C#代碼規範

15.函數大量的傳出參數可能在暗示設計的問題,除非必須這麼用,飛則違反直覺和思維習慣。函數的傳回值是很好的通用函數管道,如多個傳回值,可以考慮Tuple元組的方式。

例如:函數的參數有兩個ref這種形式

<a href="http://www.cnblogs.com/shanyou/p/3541327.html">http://www.cnblogs.com/shanyou/p/3541327.html</a>

16.C#中的容易都是引用類型,和C++ STL中的值類型容易是不一樣的,傳參時候不會有拷貝性能損傷

17.注意單詞的拼寫錯誤