读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大设计原则。

    

    当然这是第一次读这本书,只是有个编写整洁代码的概念,但是只要有了这种整洁的思想,相信自己会去找更多的方式来实现自己的整洁之道。在平时练习,做项目中都要有这种意识,将代码的美贯穿在整个字里行间。当然也需要读更多优秀的代码,站在作者的角度,迫使自己以作者的思维考虑问题,就能更加深刻的理解原则,模式,实践和启示。

0 0