读clean code有感
来源:互联网 发布:文明6 有没有mac 版 编辑:程序博客网 时间:2024/06/16 09:07
作为一个才入职不久的菜鸟程序员——姑且这么说,码农或许更合适,现在对于编程的理念还有所欠缺。在我对于程序的看法中,还停留在:代码能够运行就完美的层次。从没有关于“代码之美”的感觉,也没有一丁点关于代码整洁度的思想。在我的眼里:好看的代码大概就是层次分明,错落有致比较大的方向上的感受,关于细节并没有特别的感受。所以真正进入项目中,对于自己写的代码只知道不敢放上去,功能是实现了,但是就没有底气,不敢放上去。后来在一位让我能够真正融入项目的前辈的帮助下,终于知道了:怎样去写好一点的代码了,同时,也是他推荐我去看的这本书。话不多说回到正题,在我读完这本书之后有种酣畅淋漓的感觉,知道怎样去学习,去努力写出“整洁的”,“优美的”代码,看起来令人舒服的,赏心悦目的代码。同时将所学用在重构自己以前写的代码上,然后对比前后代码是多么的舒心,真的能够让人充满动力的投入到写代码中,感觉你写的不是代码是一种艺术的表达,当然现在的我没有这个境界,但是我将把这种代码整洁的思想贯穿我整个职业生涯。下面是一些总结:
1.Code Monkey(代码猴子):这个描述太贴切了,以为自己能够写出一些代码就沾沾自喜,看着自己写的“可以运行”的代码,竟然还自豪不已。
2.整洁代码:能通过所有测试;没有重复代码;体现系统中的全部设计理念;尽量少的实体,如类,方法,函数等。
3.有意义的命名:能够精确解释类或函数要做的事情,无歧义,无冗余。
4.函数只做一件事情,短小,参数应该<3(可以通过抽象成类来达到减少参数的目的),抽离try/catch代码块。
5.注释:只需要必要的注释,且准确。更好的命名,更少的注释,因为注释往往容易忘记维护。
6.格式:垂直格式,自上向下;水平格式,尽量短。
7.对象和数据结构:对象暴漏行为,隐藏数据;数据结构暴漏数据,没有明显的行为。
8.异常:与逻辑隔离。
9.边界:对于第三方代码。应该减少边界变更带来的影响,因为是不可控的,所有采用封装的方式,可以见变更减少到最小。
10.单元测试:整洁可读性,100%通过;一个测试一个断言,一个测试一个概念;遵循:Fast,Independent,Repeatable,Self-Validating,Timely。
11.类:短小,内聚,且一个类只有一条加以修改的理由(SRP),6大设计原则。
当然这是第一次读这本书,只是有个编写整洁代码的概念,但是只要有了这种整洁的思想,相信自己会去找更多的方式来实现自己的整洁之道。在平时练习,做项目中都要有这种意识,将代码的美贯穿在整个字里行间。当然也需要读更多优秀的代码,站在作者的角度,迫使自己以作者的思维考虑问题,就能更加深刻的理解原则,模式,实践和启示。
- 读clean code有感
- 《Clean Code》读后总结
- clean code
- code clean
- clean code
- Clean Code
- 读Clean Code 随感 (自学·不断更新)
- 《Writing clean code》读书笔记
- Writing clean code
- keep code tight&clean
- 《clean code》读书笔记
- Clean Code 读书笔记
- 《Write Clean Code》
- Clean Code读书笔记
- Clean-Code:函数
- Clean-Code: 注释
- 简读Clean Code(未完)
- Write Clean Code
- android studio的debug和release模式下使用不同的Http前缀进行测试与正式环境的自动切换
- 数据结构实验之查找六:顺序查找
- Hibernate(开放源代码的对象关系映射框架)
- 1.Ext JS 建立web开发工程
- 10款“程序猿”和“射击湿”不可不用的在线资源和工具网站
- 读clean code有感
- 第十五周项目一(5)直接选择排序
- js的高亮关键写法,简单粗暴,行之有效
- git+gerrit开发配置方法入门
- 第15周项目2 用哈希法组织关键字
- VLC详细的使用说明以及配置说明综合示范实例精通VLC开发
- 【Day54】谈谈如何优化MYSQL数据库查询
- SpringMvc教程(九)--Spring中的拦截器
- Android Cordova 插件开发之编写自定义插件