代码整洁之道 clean code 读书笔记

简介: 代码整洁之道 clean code 读书笔记

《代码整洁之道》 给出关于提高代码质量和可读性的建议。

一些建议对初学者非常有用。下面是我的几条笔记。

 

关于变量名、函数或类的名称

第2章 有意义的命名

2.2 名副其实

变量、函数或类的名称应该告诉你 它是什么、能做什么、该怎么用。

Int d; //消逝的时间,以日计

Int elapsedTimeInDays;

显然第二种更明确

另一个例子:

Public List<int[]> getThem(){

 List<int[]> list1 = new ArrayList<int[]>();

 for (int[] x : theList)

   if (x[0] == 4)

list1.add(x);

 return list1;

}

只看代码,很难理解这个到底是做什么的。

但是只要修改一下函数名、变量名就会让它变得明确。

Public List<Cell> getFlaggedCells(){

 List<Cell> flaggedCells = new ArrayList<Cell>();

 for (Cell cell : gameBoard)

   if (cell.isLlagged())

flaggedCells.add(cell);

 return flaggedCells;

}

 

函数

3.1 短小

函数就该小

代码块和缩进:

If else while语句其中的代码块一个只有一行,这行应该是一个函数调用。

3.2 只做一件事

函数应该只做一件事。

3.5 使用描述性的名称

别害怕长名称。

3.6 函数参数

函数参数应该尽可能少。

3.6.2 标识参数

尽量不要传布尔值

因为这样通常意味着

函数在true时要做一件事,在

false时又做另一个事情。

3.6.5 参数对象

如果函数需要2个以上参数,考虑将一些参数封装为类。例如:Circle makeCircle(double x, double y, double radius);

    Circle makeCircle(Point center, double radius);

3.7 无副作用

避免使用输出参数

相关文章
|
4月前
|
缓存 中间件 调度
经验大分享:Sinatra源码学习
经验大分享:Sinatra源码学习
26 0
|
4月前
|
算法
Clean Code 代码整洁之道 格式
Clean Code 代码整洁之道 格式
|
5月前
|
Dubbo Java 中间件
探寻源码宝藏:介绍开源项目"source-code-hunter"
最近处于金三银四的面试黄金期,许多同学在面试中反映现在要求非常高,阅读源码几乎是必问项。然而,阅读源码时常常觉得晦涩难懂,令人头疼。今天在浏览 GitHub 时,我发现了一个名为 source-code-hunter 的宝藏项目。这个项目从源码层面深入剖析和挖掘互联网行业主流技术的底层实现原理,为广大开发者提供了便利,助其提升技术深度。目前该项目已经涵盖了 Spring 全家桶、Mybatis、Netty、Dubbo 框架,以及 Redis、Tomcat 等中间件的内容,恰好适合最近正在面试或希望提升技术深度的同学参考学习。
755 1
探寻源码宝藏:介绍开源项目"source-code-hunter"
|
11月前
|
存储 自动驾驶 测试技术
Mastering Makefile:模块化编程技巧与经验分享
在Linux项目管理中,Makefile是一个强大的工具,它可以帮助我们自动化编译和测试过程。然而,随着项目的增长,Makefile可能会变得越来越复杂,难以管理。在这篇文章中,我将分享一些模块化编程的技巧和经验,帮助你更好地管理你的Makefile。 使用反斜杠进行换行
87 0
|
算法 程序员
《Clean Code》读书笔记
《Clean Code》读书笔记
|
存储 Java 编译器
与Go的初次见面 | 青训营笔记
与Go的初次见面 | 青训营笔记
71 0
|
设计模式 编译器 Go
Go 软件设计之道
重要的是要记住,在 Go 中,子类型或子类的概念真的不存在,这些设计模式应该被避免。
|
程序员 Go
Go 程序员的演变,最后的 “Rob Pike” 这个梗看懂了吗?
Go 程序员的演变,最后的 “Rob Pike” 这个梗看懂了吗?
|
程序员
Clean Code系列之坏味道及重构
几乎在每个团队,都至少有一份代码规范,或者代码的check list。然也就仅仅是一份清单。 每次团队复盘时,都会有一条,我们要写好代码,然“好代码”是什么样子,什么标准,全取决于各人的水平。 每个程序员也都知道code review的重要性,然排期很紧张,难得做一次。宁可花时间追查问题,也不做防御性准备。
286 0
|
网络协议 编译器 程序员
为什么 Go 是我最喜欢的编程语言(2017)[翻译]#IT人的升职加薪tips#
为什么 Go 是我最喜欢的编程语言(2017)[翻译]#IT人的升职加薪tips#
181 0
为什么 Go 是我最喜欢的编程语言(2017)[翻译]#IT人的升职加薪tips#