zoukankan      html  css  js  c++  java
  • c#装B指南

    要想让自己的代码,看起来更优雅,更有逼格,更高大上,就一定要写出晦涩难懂,而又简洁的代码来。

    对于类自身的全局变量,一定要加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> 之类的方式。

  • 相关阅读:
    ionic打包步骤(安卓)
    使用ionic开发时用遇到监听手机返回按钮的问题~
    SQL语句
    SQL小结
    AangularJS的表单验证
    AangularJS过滤器详解
    mysql基础一
    初识rabbitmq
    对数字加千分号实现
    rabbitmq安装
  • 原文地址:https://www.cnblogs.com/zhangji/p/4424812.html
Copyright © 2011-2022 走看看