国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

論C#逼格手冊

2019-11-17 02:49:48
字體:
來源:轉載
供稿:網友

論C#逼格手冊

水文。如何讓自己的代碼看起來,更有逼格?

要想讓自己的代碼,看起來更優雅,更有逼格,更高大上,就一定要寫出晦澀難懂,而又簡潔的代碼來。

對于類自身的全局變量,一定要加this,對于基類的,一定要加base。反射不要多,但一定要有,而且偶爾就來上那么一兩個。

接口,抽象類,抽象方法一定要懂得利用。可以的話,配上 :base(param), where T : interface 之類的方式。

對于event,delegate 要常用。而且不要直接delegate(),要用delegate.invoke();

如果對于自己的功底有把握的話,delegate.beginInvoke()也是很顯逼格的一種方式。

async,await之類的能免則免,盡可能的封裝delegate,去beginInvoke。

命名也一定要盡顯逼格,對于變量名,怎樣短怎樣來。對于方法名、事件名,怎樣長怎樣來。

如果自己封裝cache,要用key/value數據格式, 不要用Dictionary,Hashtable,一定要用ConcurrentDictionary/IEnumable<KeyValuePair>,除了對外公開 object GetValue(string Key)這樣的方法以外,必須還得配上索引器 public object this[string Key]。

對于lock,monitor,autoResetEvent,跟反射一樣,不要多,但是一定要有,且必須醒目。

對于任何功能,只要有把握,就先弄個Init,啟動兩個以上的線程,然后加各種ConcurrentStack,ConcurrentQueue之類的代碼。若功能實在是太簡單,也可以加上Task.Factory.StartNew(()=>{});

然后要學會使用各種IQueryable,lambda,Func<>, linq,linq樹,入眼皆是一片的startWith, continueWith,asparallel,ExPRession<>,()=>{}等, 而且一定要隨處可見from ... into ... select等。

各種匿名函數,匿名委托,匿名類,各種約束,也要如同家常便飯,信手拈來。

然后就是各種語法糖,也要靈活運用,對于需要返回兩個以上值的,不要用ref, out來返回參數,要用Tuple,對于返回[]的,要常用yield。

對于任何類,沒要求的,先繼承了IDispose再往下寫。using是絕逼不能少的。

對于Switch..case,工廠,策略,一律統統戒掉,要靈活使用IOC,而且絕逼不能使用任何第三方的,如Autofac,Unity,Castle之流。一定要自己封裝,耍上幾個Attribute,CreateInstance,局部的也可采用dynmaic。

對于不再使用的代碼,或是已經重構掉的代碼,也不要注釋,或者刪掉,要加上[Obsolete],來展示這是自己的優化成果。

嗯,排版上也要注意,對于參數比較多的,一定要每個參數占一行,對于傳實體的,一定不要在函數外定義,而是在參數上面new class{ xxx };且每個大括號,必須獨占一行。

對于方法里面代碼比較長的, 也要常用{}來進行分段,且每個大括號,必須獨占一行。

對于低級幼稚的,一定要避免。比如 return num == 1 ? true : false; 之類的代碼,就不要出現了,直接 return num == 1;

對于Convert.ToInt32(Request["key"]);double.TryParse(Request["key"], out double)之類的代碼,也不要暴露出來,要學會用擴展類Request.Form[].ToInt();ConfigurationManager.Appsetting[""].ToDouble()等, 也可以使用 .ToValue<int/double> 之類的方式。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊春市| 息烽县| 舟山市| 上蔡县| 武夷山市| 咸宁市| 醴陵市| 大石桥市| 新营市| 宣武区| 临泉县| 松潘县| 若羌县| 县级市| 韩城市| 宁城县| 于都县| 樟树市| 镇沅| 五原县| 九台市| 拜城县| 兴业县| 驻马店市| 集安市| 锦屏县| 交口县| 绍兴县| 昭通市| 邯郸县| 靖宇县| 德清县| 玉环县| 呼伦贝尔市| 绵阳市| 玉门市| 郸城县| 汉沽区| 大渡口区| 阳原县| 义乌市|