Clean Code 《代码整洁之道》前四章读书笔记
第一章:
整洁的代码只做好一件事
减少重复代码
提高表达力
提早构建简单抽象
让营地比你来时更干净
第二章:有意义的命名
名副其实:如果名称需要注释来补充,就不算是名副其实。
一定要注意命名,一旦发现更好的名字,替换他
避免误导 比如不要用accountList,除非这真的是一个list,可以用accoutGroup等
这个我以后要注意
拼写前后规则要一致
废话是一种没有意义的区分,比如:Product ProductInfo ProductData
使用读得出来的名称,使用可搜索的名称
类名要尽量用名词或名词短语,方法名应当是动词或动词短语
全名要习惯相同,不要命名这种:controller manager driver等
尽量少的参数
最好是没有参数,或者只有一个参数
但有些方法天生需要两个参数 Point point = new Point(0,0);
书中是这样解释的:如果需要>=3个的参数,其中一些参数应该封装为类。
标识参数丑陋不堪,向函数传入bool值简直就是骇人听闻的做法
第一次听说这个理论,书中的建议是拆分为两个方法,例如:
1、reanderForSuite();
2、renderForSingleTest();
使用异常代替错误码
要学会用异常,这样出现新的错误码可以直接从异常类派生出来的
别重复自己,打磨代码
1、别给糟糕的代码加注释,重新写吧 2、程序员不能坚持维护注释 3、注释不能美化糟糕的代码
原文开始>用//TODO 形式在源代码中放置要做的工作列表
TODO是一种程序员认为该做,但由于某些原因目前还没有做的工作,或者要求他人注意某个问题</原文结束>
但是要定期查看TODO,不要使它成为一堆垃圾
但是公共API中的Javadoc应该有良好的注释和建议
坏注释: 1、自说自话,喃喃自语 2、多余的注释 3、循规式注释,毫无新意的废话 4、不要注释掉的代码放在那里
看到这里,我已经有点迫不及待要重构我今天写的代码了,Oh my God!
Clean Code 《代码整洁之道》前四章读书笔记的更多相关文章
- 读《Clean Code 代码整洁之道》之感悟
盲目自信,自认为已经敲了几年代码,还看什么整洁之道啊.我那可爱的书架读懂了我的心思,很明事理的保护起来这本小可爱,未曾让它与我牵手 最近项目中的 bug 有点多,改动代码十分吃力,每看一行代码都带一句 ...
- Clean Code 代码整洁之道
军规:让营地比你来时更干净. 整洁代码 Leblanc : Later equals never. (勒布朗法则:稍后等于永不) 对代码的每次修改都影响到其他两三处代码. 修改无小事. 如同医生不能遵 ...
- 《代码整洁之道》(Clean Code)- 读书笔记
一.关于Bob大叔的Clean Code <代码整洁之道>主要讲述了一系列行之有效的整洁代码操作实践.软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关.这一点,无论是敏捷开发流派 ...
- 2015年第11本:代码整洁之道Clean Code
前一段时间一直在看英文小说,在读到<Before I fall>这本书时,读了40%多实在看不下去了,受不了美国人啰啰嗦嗦的写作风格,还是读IT专业书吧. 从5月9日开始看<代码整洁 ...
- 《代码整洁之道》ch1~ch4读书笔记 PB16110698 (~3.8 第一周)
<代码整洁之道>ch1~ch4读书笔记 <clean code>正如其书名所言,是一本关于整洁代码规范的“教科书”.作者在书中通过实例阐述了整洁代码带来的种种利处以及混乱代码 ...
- Programming好文解读系列(—)——代码整洁之道
注:初入职场,作为一个程序员,要融入项目组的编程风格,渐渐地觉得系统地研究下如何写出整洁而高效的代码还是很有必要的.与在学校时写代码的情况不同,实现某个功能是不难的,需要下功夫的地方在于如何做一些防御 ...
- 免费电子书:C#代码整洁之道
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:<Clean Code(代码整洁之道)>是一本经典的著作,那么对于编写整洁 ...
- <读书笔记> 代码整洁之道
概述 1.本文档的内容主要来源于书籍<代码整洁之道>作者Robert C.Martin,属于读书笔记. 2.软件质量,不仅依赖于架构和项目管理,而且与代码质量紧密相关,本书提出一 ...
- 如何写出如散文般的代码――《代码整洁之道》读书笔记(Ch1-Ch3)
不知道有多少人像我一样,程序出现问题时添加函数添加变量解决,变量名用a,b,c等"简单"的字母来表示.不知道有多少人像我一样,看完自己的代码,心里暗骂"什么玩意儿!&qu ...
随机推荐
- 【转】彻底理解安卓里的ldpi、mdpi、hdpi、xhdpi、xxhdpi文件夹含义
这个问题我相信困惑了好多人包括很多老鸟,而且有的人以为自己理解其实是错误的,包括之前的我在内,在做安卓适配的时候,一般让美工做720*1280的切图,就直接放到xhdpi下,如果是做了1080*192 ...
- jmeter报"msg":"Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported"的解决方法
1.报"msg":"Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supporte ...
- 2018.11.12 Spring事务的实现和原理
Spring事务用法示例与实现原理 关于事务,简单来说,就是为了保证数据完整性而存在的一种工具,其主要有四大特性:原子性.一致性.隔离性和持久性.对于Spring事务,其最终还是在数据库层面实现的,而 ...
- mysql时间日期函数
now(), current_timestamp(); -- 当前日期时间 current_date(); -- 当前日期 current_time(); -- 当前时间 date('yyyy-mm- ...
- 分享一个关于pthread线程栈在mm_struct里面的分布问题
大家好,本人被下面这个问题困扰了一段时间,最近似乎找到了答案. 这里和大家分享一下,可能对有相同困惑的同学有点帮助,同时也请各位帮忙看看错漏的地方. 1================问题: 在使用p ...
- 优雅的QSignleton (二) MonoSingleton单例实现
MonoSingleton.cs namespace QFramework.Example { using System.Collections; using UnityEngine; class C ...
- 使用xlsx把json对象导出excel
1,首先使用npm下载xlsx.执行命令 npm install xlsx --save import { Component, OnInit } from '@angular/core'; //im ...
- Java Iterator ListIterator 理解
一. Iterator 常用操作 next hasNext remove 先上源码:JDK8 简化版本,用于说明问题 private class Itr implements Iterator< ...
- poj_1306_Combinations
Computing the exact number of ways that N things can be taken M at a time can be a great challenge w ...
- ABAP术语-Business Connector
Business Connector 原文:http://www.cnblogs.com/qiangsheng/archive/2007/12/27/1016379.html XML-based st ...