• 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> 之类的方式。

    本人对代码不做任何知识产权限制,也不保证所有的代码皆为原创。
  • 相关阅读:
    arcgis for flex 学习笔记(一)
    也说JS脚本加载控制
    数据验证随想(续)
    Oracle 脚本记录
    探讨:如何更快的赋值取值
    正则表达式技巧
    类似web风格的 Winform 分页控件
    数据验证随想
    [leetcode]Excel Sheet Column Title
    [leetcode]Merge k Sorted Lists
  • 原文地址:https://www.cnblogs.com/changrulin/p/4765711.html
Copyright © 2020-2023  润新知