`
janeky
  • 浏览: 365970 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

《Clean Code》读后感

阅读更多

代码维护一直是软件开发中比较重要的一块内容。尤其是需要多次开发,更新频繁的项目。如何保证项目团队保证高

 

效的生产力?保持代码Clean是一个有效的途径。看了Bob大叔的《Clean Code》,受益匪浅。里面详细地描述了Clean

 

Code的特征,从命名,到函数,到类,到系统。既抓出了一些常见的问题,也提供的很多解决方案。保持Code Clean,

 

并在团队中实施,是每个团队管理人员的责任。

 

我在这里就不多介绍了,只是摘录了一些片段,希望大家看后,能够去读读这本书。也欢迎一起谈论Clean Code

 

 

 

5S标准

Sort 分类排序,搞清楚事物之所在,通过恰当的命名

Systematize 系统化,每段代码都该在你希望的地方,否则,就该重构了

Shine 清理一些已经腐烂的代码,除之而后快

Standardization 标准化,一个team应该有一个代码标识,每个成员应该遵循

Self-discipline 自律 在实践中贯彻标准,并时时体现在个人工作上,要乐于改进

 

学写整洁代码很难。看完书只能是“感觉不错”。关键是形成一种意识,在日常工作中贯彻,每个类的命名,函数的定义,每个层次的抽象过程。

 

Later equals never。稍后等于永不。我们都曾经瞟一眼自己亲手造成的混乱,断言能运行的烂程序总比什么都没有强,我们都曾经说过有朝一日回头再清理

 

随着混乱的增加,团队的生产力也持续下降,趋向于0。生产力下降时,管理层就只有一件事可以做了,增加人手。《人月神话》中有详细描述这个项目管理的过程。新人不熟悉系统设计,通常会制造更多的混乱

 

推到重新设计

 

态度。一处小修改,却涉及到上百个模块。理由:产品需求违背了最初的设计,进度紧张,心情

 

混乱只会拖慢期限。赶上期限的唯一方法-始终保持代码的整洁

 

代码逻辑直截了当,缺陷无法隐藏,尽量减少依赖关系,使之便于维护,整洁的代码只做好一件事

 

整洁的代码从不隐藏设计者的意图

 

代码应该通过其字面表达含义

 

能够通过所有的测试,没有重复代码,体现系统中的全部设计理念,尽量少的实体(类、方法,函数)

 

童子军军规:让营地比你来时跟干净。每次签入,代码都比签出时干净。都是一些很微小的东西,改好一个变量名,拆分一个有点长的函数,消除一点点重复代码,清理一个嵌套的if语句

 

体现本意的名称 int d

 

避免误导 accountList 除非真的是List  l 1 0 O

 

做有意义的区分 x1x2

Product ProductInfo ProductData

getActiveAccount() getActiveAccountInfo()

 

使用读得出的名称,方便交流

 

使用可以搜索的名称 单字母和数字常量

 

成员前缀

 

避免思维映射

不应该让读者在脑中把你的名称翻译成他们熟知的名称。

 

类名 名词或者名词短语,避免使用Manager Processor Data Info等类名

 

方法名 动词或者动词短语

 

不要装清纯扮可爱,别人不一定有你的幽默和喜感,可能会误会你的意图

 

每个概念对应一个词,团队中最后有一个规范命名

 

别用双关语,add append

 

让人一目了然,让人觉得就应该是那样写

 

使用解决方案领域名称

 

问题域名称

 

添加有意义的语境,不要添加无意义的语境

 

短小

 

只做一件事

 

每个函数一个抽象层级

 

自顶向下写代码:向下规则

 

Switch 用多态代替

 

使用描述性的名称

别害怕长名字,别害怕花时间取名字

 

函数参数尽量少

 

标识参数是恶劣的

 

无副作用

 

输出参数

 

查询 操作 分离

 

使用异常代替返回错误

 

别重复自己 重复时软件中一切邪恶的根源

 

结构化编程 一个入口一个出口,只要保持短小,偶尔出现的return breakcontinue都没有坏处,goto就不要用了

 

如何写出clean 函数

一开始都是冗长而复杂的,有太多的缩进嵌套,有过长的参数列表,名称是随意取的,也会有重复代码

 

注释不能美化糟糕的代码

 

用代码来阐述

 

注释说明的是为什么这么做。做什么应该在代码中体现

 

多余的注释,误导性的注释,过时的注释,循规式,日志,废话,位置标识,括号后面的注释

注释掉的代码 html注释 信息过多 不明显的联系

 

Demeter 模块不应了解它所操作对象的内部情形。

C的方法f只应该调用以下对象的方法

C,由f创建的对象,参数 c持有的对象

 

别传递null,别返回null

 

类应该尽量小,计算 权责

 

单一权责-只有一条修改的理由

 

内聚

 

保持内聚性会得到很多短小的类

 

为了修改而组织

运行所有的测试

不可重复

表达程序员的意图

尽可能减少类和方法的数量

 

If()优于if(!)

多条件的,要放在一个函数里面说明

 

死函数,永远不被调用

 

基类依赖于派生类

 

--附件是我在团队中分享时用到的部分ppt

1
0
分享到:
评论

相关推荐

    Write Clean Code Write Clean Code Write Clean Code Write Clean Code

    《Write Clean Code》是微软出版的一本专注于C语言编程实践的书籍,旨在帮助开发者提高代码质量,编写出更清晰、更可维护的程序。书中的内容涵盖了C编程的多个核心领域,包括基本语法、错误处理、内存管理、数据结构...

    clean code(中文完整版).7z

    《Clean Code(评注版)》提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好的基础。《Clean Code(评注版)》作者给出了一系列行之有效的整洁代码操作实践。这些...

    Clean Code A Handbook of Agile Software Craftsmanship 无水印pdf

    Clean Code A Handbook of Agile Software Craftsmanship 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自...

    Clean Code Summary 无水印pdf

    Clean Code Summary 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    clean_code(中文完整版).rar

    《Clean Code》中文完整版.pdf 这本书是软件开发领域中一本经典的著作,由著名软件工程师Robert C. Martin(Bob大叔)撰写。《Clean Code》强调编写整洁、可读性强的代码,这对于任何软件项目的长期维护和扩展至关...

    Writing Clean Code中文版

    ### 清晰编程的核心概念与实践 —— 《Writing Clean Code中文版》解析 #### 标题解析 - **标题**:“Writing Clean Code中文版”表明这是一本关于如何编写清晰、高质量代码的书籍,其内容是针对中文读者群体。 ##...

    Writing Clean Code

    Writing Clean Code 不是 Solid Code

    24 Patterns for Clean Code mobi

    24 Patterns for Clean Code 英文mobi 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    完美模式设计指南(Write Clean Code)

    完美模式设计指南(Write Clean Code) CHM版 繁体中文

    24 Patterns for Clean Code azw3

    24 Patterns for Clean Code 英文azw3 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除

    clean_code(中文完整版)

    书籍的英文原名是《Clean Code: A Handbook of Agile Software Craftsmanship》,中文版则译为《代码整洁之道》。全书通过大量的编程实践和案例,强调了代码质量和整洁度之间的直接关系,指出了干净的代码不仅在质量...

    Clean Code

    Clean-Code-A-Handbook-of-Agile-Software-Craftsmanship-Robert-C-Martin-Series Robert C. Martin Series The mission of this series is to improve the state of the art of software craftsmanship. The books ...

    Writing Clean Code.rar

    《编写整洁代码》是软件开发领域中一个至关重要的主题,旨在提高代码的可读性、可维护性和可扩展性。本文将深入探讨该主题,并基于...在《Writing Clean Code》中,你将找到更多关于如何实现这一目标的具体指导和示例。

    Clean-Code(JAVA必看的一本书非常好)

    "Clean Code"这一标签恰好反映了这本书的核心理念——编写整洁、易读、可维护的代码。以下是基于书中的关键知识点的详细解释: 1. **命名约定**:良好的命名是代码可读性的基础。书中强调,变量、函数和类的命名应...

    Writing Clean Code(PDF版本)

    《Writing Clean Code》这本书由Steve Maguire撰写,姜静波、佟金荣翻译,麦中凡校对,由电子工业出版社出版。本书是关于如何编写高质量、无错误的C语言程序的专业指南。作者基于自己在微软的工作经验和教训,分享了...

    CleanCode ppt

    ### CleanCode概述 《CleanCode》是一本关于提高软件开发质量的经典著作,它不仅强调了良好的架构和项目管理的重要性,还特别突出了代码本身的质量对于软件成功的关键作用。书中提出了“整洁代码”的概念,即代码的...

    Clean Code A Handbook of Agile Software Craftsmanship

    《Clean Code》是由著名软件工程师Robert C. Martin(Uncle Bob)所著,是一本关于敏捷软件开发中编写高质量代码的指南。这本书以其深入浅出的写作风格,从实践出发,结合理论,再回归实践,揭示了编写“干净代码”...

Global site tag (gtag.js) - Google Analytics