• 《代码整洁之道》阅读笔记


    这本书最开始是在知乎上看到的,有位大佬总结说这本书都是插图,而我之前看过的都是密密麻麻的文字,仅有的插图也都是数据或者程序源代码,这本书就不一样了,抱着“看热闹”的态度,我开始阅读这本书。这本书的第一章的第一句话是这样说的:读这本书通常有两个原因:1. 你是一名程序员。2. 你想成为更好的程序员。我们需要更好的程序员。 
    这本书的每一章都可以总结出一句话,其实每章开始的插图就是这句话的浓缩。 

    本书的第一章是关于什么是整洁代码的讨论,引用了Bjarne Stroustrup(C++之父)、Grady Booch(UML的创始人之一)等人当然也有Bob大叔(本书的作者Robert Martin)自己对整洁代码的理解。

    第二章讲的是关于命名的问题:

    不管是现实世界还是软件项目中,命名都是一件让人头疼的事情,比如刚下载的游戏创建新角色起名字,你希望名字可以根据你的喜好你的追求进行命名,可能你还要考虑和你一起玩的人的年龄段和人群划分等等。软件项目中的命名情况会更加复杂,简单的说命名的原则是"见名知意",当然你还需要用各种方式防范命名冲突的问题,不同的编程语言也有自己不成文的像契约一样的命名规则和方式(例如匈牙利命名法),这些可能都是需要考虑的事情。我个人并不喜欢匈牙利命名法,加上一个类型前缀的感觉就是永远和这个东西绑定到一起了记住:好的名字相当于为代码写了一段有用的注释。

    第三章讲的是函数:

    说了这么一句话:"Function should do one thing. They should do it well. They should do it only. "(函数只应该做一件事情,把一件事情做好,而且只由它来做这一件事情),听起来很简单的一句话但是要践行这条原则却并不容易,所以我们的代码中才会有很多的坏味道(请参考《重构:改善既有代码的设计》一书的第三章)。事实上,上升一个层次,我们在设计类的时候也应该如此,这是面向对象设计原则中说的单一职责原则(SRP),当我们的代码中出现了冗长的方法或者巨大的类的时候,我们就应该依据职责来对其进行拆分,这样程序的结构才会趋于合理,最终达到"高内聚"的目标。当然,这一章里面还提到很多理念,包括:Command Query Separation(一个方法要么执行某种命令,要么返回查询数据)、DRY(不要重复自己)、Prefer Exceptions to Returning Error Codes(异常优于返回错误码)等。


    第四章讲的是注释:

    有一句话我很喜欢,说的是:"Comments Do Not Make Up for Bad Code."(注释不是对劣质代码的补救)。事实上好的代码即便没有注释也拥有良好的可读性,但恰当的注释会让代码变得更可读、可维护性更高。



  • 相关阅读:
    spring无法接收上传文件
    springcloud feign增加熔断器Hystrix
    mybatis调用存储过程(@Select方式)
    spring在注解标注的方法上加切面
    java注解Annotation
    java包装类
    JZ-C-43
    JZ-C-42-Plus
    JZ-C-42
    JZ-C-41-Plus
  • 原文地址:https://www.cnblogs.com/zhangxinyue/p/14839609.html
Copyright © 2020-2023  润新知