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> 之类的方式。
c#装B指南的更多相关文章
- 最全面的Git 使用规范装逼指南[转载]
<!DOCTYPE html> <script type="text/javascript"> window.logs = { pagetime: {} } ...
- python 冷知识(装13 指南)
python 冷知识(装13 指南) list1 += list2 和 list1 = list1 + list2 的区别 alpha = [1, 2, 3] beta = alpha # alpha ...
- JavaScript装逼指南
如何写JavaScript才能逼格更高呢?怎样才能组织JavaScript才能让别人一眼看出你不简单呢?是否很期待别人在看完你的代码之后感叹一句“原来还可以这样写”呢?下面列出一些在JavaScrip ...
- 程序员装B指南
一.准备工作 "工欲善其事必先利其器." 1.电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好.一个用来查资料,一个用来写代码.总之要显得信息量很大,效率很高 ...
- 装b指南
提溜一个糖水黄桃罐头瓶,放在桌边,坐下以后,脖子略微后仰,翘着二郎腿,低头盯着屏幕看需求. 最好点一根烟,牌子无所谓,能冒烟就行.要得就是云山雾绕的感觉,从烟雾中眯着眼睛看出去,一副胸有成竹的样. 一 ...
- JavaScript 装逼指南
Summary 本文秉承着 你看不懂是你sb,我写的代码就要牛逼 的理念来介绍一些js的装逼技巧. 下面的技巧,后三个,请谨慎用于团队项目中(主要考虑到可读性的问题),不然,leader 干你没商量. ...
- 程序员装X指南
一.准备工作“工欲善其事必先利其器.” 1.电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好.一个用来查资料,一个用来写代码 .总之要显得信息量很大,效率很高. 2.椅子不一 ...
- 程序员装B指南(转载)
转自:http://www.oschina.net/question/615783_115390 一.准备工作 "工欲善其事必先利其器." 1.电脑不一定要配置高,但是双屏是必须的 ...
- 这些JavaScript编程黑科技,装逼指南,高逼格代码,让你惊叹不已
Javascript是一门很吊的语言,我可能学了假的JavaScript,哈哈,大家还有什么推荐的,补充送那啥邀请码. 本文秉承着:你看不懂是你SB,我写的代码就要牛逼. 1.单行写一个评级组件 &q ...
- 软件攻城狮究级装B指南
引言 装B于无形,随性而动,顺道而行,待霸业功成之时,你会发现:装B是牛B最好的的试金石. -- SuperDo 第一章.人间兵器(准备工具) <论语·魏灵公>:“工欲善其事,必先利其器. ...
随机推荐
- 【Android】MTK Android 编译命令
命令格式:./maketek [option] [project] [action] [modules] Option: -t ,-tee :输出log信息到当前终端 -o , -opt=-- : 编 ...
- 【Todo】MQ学习-RabbitMQ, ActiveMQ, Kafka等
之前学习过RabbitMQ,并且还安装过.安装记录的文章如下: Erlang:http://www.cnblogs.com/charlesblc/p/5512380.html RabbitMQ:htt ...
- 【温故知新】c#异步编程模型(APM)--使用委托进行异步编程
当我们用到C#类许多耗时的函数XXX时,总会存在同名的类似BeginXXX,EndXXX这样的函数. 例如Stream抽象类的Read函数就有 public abstract int Read(byt ...
- Asp.net Web Api进行Nunit测试
有两种方式 1.模拟Web请求. 2.直接本地调用Api接口 但是由于本地直接调用没有模拟请求环境,所以request为null public static HttpResponseMessage C ...
- UVa 11988 (数组模拟链表) Broken Keyboard (a.k.a. Beiju Text)
题意: 模拟一个文本编辑器,可以输入字母数字下划线,如果遇到'['则认为是Home键,如果是']'则认作End键. 问最终屏幕上显示的结果是什么字符串. 分析: 如果在数组用大量的移动字符必然很耗时. ...
- 【英语】Bingo口语笔记(20) - i长短音
短音有个ei的音,多练习下 长音是咦拉长
- JAVA虚拟机内存分配与回收机制
Java虚拟机(Java Virtual Machine) 简称JVM Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现.Java虚拟机有自己想象中的硬件,如处理器.堆栈.寄存器等 ...
- 【转】Eclipse快捷键 10个最有用的快捷键----不错
原文网址:http://www.open-open.com/bbs/view/1320934157953 1.选中你要加注释的区域,用ctrl+shift+C 会加上//注释2.先把你要注释的东西选中 ...
- android 单独编译某个模块
第一次下载好Android源代码工程后,我们通常是在Android源代码工程目录下执行make命令,经过漫长的等待之后,就可以得到Android系统镜像system.img了.以后如果我们修改了And ...
- DOJO 如何清空表单
在Dojo里,清空表单非常简单 在设置好了相关的环境之后,只要设置dom.byId('formid').reset(); / dijit.byId('formid').reset; Jqu ...