論C#逼格手冊

來源:互聯網
上載者:User

標籤:io   os   ar   使用   for   sp   資料   art   on   

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

 

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

對於類自身的全域變數,一定要加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> 之類的方式。

 

論C#逼格手冊

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.