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 ...
随机推荐
- 项目Alpha冲刺(团队7/10)
项目Alpha冲刺(团队7/10) 团队名称: 云打印 作业要求: 项目Alpha冲刺(团队) 作业目标: 完成项目Alpha版本 团队队员 队员学号 队员姓名 个人博客地址 备注 221600412 ...
- (第八场)G Counting regions 【欧拉公式】
题目链接:https://www.nowcoder.com/acm/contest/146/G G.Counting regions | 时间限制:1 秒 | 内存限制:128M Niuniu lik ...
- [ZJOI2012]小蓝的好友
https://www.luogu.org/problemnew/show/P2611 题解 \(n\times m\)肯定过不去.. 我们把给定的点看做障碍点,考虑先补集转化为求全空矩阵. 然后我们 ...
- mybatis学习记录四——输入、输出映射
6 输入映射 通过parameterType指定输入参数的类型,类型可以是简单类型.hashmap.pojo的包装类型. 6.1.1 需求 完成用户信息的综合查询,需要传入查询条件很 ...
- sqlite简单笔记
五种约束需要注意的地方 1.自增使用:autoincrement 2.约束必须进行后面处理:unique(字段[多个可以以逗号分开]) 3.外键必须放后面:foreign key(字段引用) refe ...
- 【luogu P2936 [USACO09JAN]全流Total Flow】 题解
题目链接:https://www.luogu.org/problemnew/show/P2936 菜 #include <queue> #include <cstdio> #i ...
- 【办公】Microsoft Office 2016 专业增强版下载及永久激活-亲测分享
Win7 x64,安装 Office 2016. 1. 下载 Office 2016,用迅雷网上下载飞快.(这里分享我的下载链接,2.39G用迅雷分分钟就下好了) 2. 按 此博客 ,安装激活工具. ...
- 石头剪刀布的JAVA小程序 供初学者参考
package youxi; public class Player { private String name; private double score; public Player(String ...
- php第二节(变量、常量)
<?php /** * 类型转换 * 自动转换 数据在运算过程中自动转换 * 空字符串 false * "0" false * null false * 0 false * ...
- 【2017 World Final E】Need For Speed(二分)
Sheila is a student and she drives a typical student car: it is old, slow, rusty, and falling apart. ...