离写出大师级代码只差这一步

离写出大师级代码只差这一步

大师级代码简单的说就是写得流畅,看的舒服,就像《海上钢琴师》影片里的1900弹奏钢琴一样。没看过的可以下着看一下非常经典。如果写代码也能到达那种境界,那就是实现了一个传说。

下面说一下要到达这一境界其实并不难。尽管这只是一个传说。

定义个性化的类模板文件

下面微软开发的源代码,摘录的企业库中的一类库文件

首先每个class文件的头都有标注版权信息;下面是规范的命名。

下面是自己制作的类模板

生成的类文件格式如下

这样在项目添加的类文件就具有了些摘要描述,创建人,时间,公司版权,看上去是不是专业了很多。

如何制作模板

(具体方法可以参考msdn或用我给的myclass.cs模板修改成你想要的样式)

插入代码片段Insert Snippet

对于已经有类文件,需要添加头上的版权信息可以通过<Insert Snippet>插入代码片段;Snippet还不止这些功能。

使用ReSharper写出规范的代码

如何写出规范的代码,对于初学来说很难做到,很难做到原因是不知道是否符合规范,虽然有些比如代码分析的工具可以做到,但大家都很少用,而且是事后分析,最好是写的时候就能提示你写不符合要求,提示符合要求的格式是这样的,并且自动更正,visual studio.net并没有提供这个功能;而ReSharper正好提供了这样的功能

当然ReSharper的功能是非常强大的,最早在visual studio.net 2002就有了现在最新版本是5.0,自然是不断在更新和添加新功能,让程序员写代码像弹钢琴一样。

ReSharper命名规范定义

下面是ReSharper对当前代码的分析的结果

右边黄色小横杆表示当前位置的代码不符合规范,左边快捷菜单可以帮你重命名规范的格式或修改你定义的规范。当然你可以一次修改全部不符合规范

使用ReSharper重构你的代码

大师就是通过不断的重构自己的代码得到提升的你知道吗。大师能第一次就写出没有bug的代码,但经典的代码绝对不是一次能写出来的。必须通过不断的重构才能实现。

对于我们我来说第一次写出来的代码仅仅是了完成任务或是实现某一个功能而完成的作品,虽然没有bug但是比较粗糙,可能下次变更或修改时你会发现很多不顺眼的地方;这时就需要对原先写的代码进行重构。这时你作为程序员进步的第一个阶段。而想要进入大师这个阶段你还得不断的重构你的代码,精益求精是没有底的。

如何有效重构你的代码,重构出更加简洁的代码,ReSharper可以帮你更快的在这一阶段有更大进步。

下面看一下ReSharper重构的实现(更多高级功能请看官方网站或google相关内容)

(http://www.jetbrains.com/resharper/whatsnew/index.html)

找出所有修改重构的代码

可以把过定义的一些字符串常量或提示直接移动到资源文件

重构后

重构后

等等强大功能,让一对很乱的代码,点几下鼠标就就变成经典。

使用ReSharper定位查找类库

安装ReSharper后[Ctrl+鼠标]定位到类定义文件非常方便

分析类之间调用关系

使用ReSharper生成代码

生成属性,构造方法,重写方法等功能

功能强大,不妨自己去尝试一下吧

总结

ReSharper在代码Coding中确实是一件少有的凶器。好好利用它,你会提升不少。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

单元测试模拟框架:Nsubstitute

     Nsubstitute是一个开源的框架,源码是C#实现的。你可以在这里获得它的源码:https://github.com/nsubstitute/NS...

24370
来自专栏腾讯开源的专栏

高效使用lua作为业务开发语言的秘诀在这里!

导语 你还在使用c++开发UE4吗?会不会感觉太慢了?会不会感觉编译一次就可以去楼下喝杯咖啡了?会不会感觉总是提心吊胆,搞不好什么时候就crash了?现在不用...

65820
来自专栏带你撸出一手好代码

使用测试用例来约束自己的代码

写测试代码这种事情 ,以前只在网上和书上看到过, 自己从来没有写过。 每当看到那些世界顶级程序员编写的技术书籍中出现“测试用例”“测试代码”的字样或者一些行业的...

38460
来自专栏后端技术探索

php7和HHVM的性能之争

根据“TIOBE编程语言排行榜”(榜单虽然统计方式有局限,但是仍然不失为一个比较好的参考),2010年PHP最高曾经在世界编程语言中排名第三。可见,PHP语言在...

40620
来自专栏Crossin的编程教室

工欲善其事必先利其器:用什么写Python?

通常来说,每个程序员都有自己趁手的兵器:代码编辑器。你要是让他换个开发环境,恐怕开发效率至少下降三成。然而,每个人对编辑器的喜好各不相同,甚至引发出诸如“神的编...

15920
来自专栏hbbliyong

设计模式学习--面向对象的5条设计原则之开放封闭原则--OCP

一、OCP简介(OCP--Open-Closed Principle): Software entities(classes,modules,functions...

30280
来自专栏xingoo, 一个梦想做发明家的程序员

C++库大全

基础类 1、 Dinkumware C++ Library 参考站点:http://www.dinkumware.com P.J. Plauger编写的高品质...

44860
来自专栏跨界架构师

如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑

在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码:

14430
来自专栏Danny的专栏

学生信息管理系统验收总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

25730
来自专栏拂晓风起

Flash本地传递大数据,图片数据,localconnection 超出大小,超出限制 bitmapdata

13840

扫码关注云+社区

领取腾讯云代金券