《代码整洁之道》笔记第四篇

最近一段时间事情比较多,书看完了没有时间整理,最近连续看了三章,因为内容比较简单,并且没有很多,所以就把这三章放在一起总结了。

格式

代码看起来整洁也是代码整洁的第一印象,所以我们在平时写代码的时候怎么才能让代码看起来整洁呢?

我们在写代码是要按照严谨的统一的格式去写代码,如果是团队开发,这一点就尤为重要,要把多个人写出的代码看起来像是一个人写的,就要整个团队遵循严格统一的格式。下面我们来看看都有什么格式。

1垂直格式

代码自上而下,这没什么说的。最好像报纸学习,注意排版,方法和方法之间留有空行,注意垂直距离,垂直距离是什么?举个例子 变量声明的时候要尽可能离使用它本身的方法距离近一些。还有就是方法的顺序,被调用的函数应该放在调用它函数的下面。

2横向格式

横向格式需要注意的是每行代码的长度不应该超过一个屏幕距离,单词与单词之间要有一个空格,注意对齐和缩紧。

对象和数据结构

数据,对象的反对称性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Square{
public Point topLeft;
public double side;
}
public class Circle{
public Point center;
public double radius;
}
public class Geometry{
public final double PI = 3.1415926;
public double area(Object shape) throws NoSuchShapeException
{
if(shape instanceof Square){
Square s = (Square)shape;
return s.side * s.side;
}else if{
Circle c = (Circle)shape;
return PI * c.radius * c.radius;
}
}
}

看一下上看这段代码,Geometry的area()的方法是用来计算几何图形的面积的,这段代码是过程式的代码,这种写法方便在Geometry类里面增加新的函数,但是如果要加上一种图形的话原有的函数就要被改动。
再来看一看下面这段代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public Interface Shape{
double area();
}
public class Square implements Shape {
public Point topLeft;
public double side;
public double area(){
return s.side * s.side;
}
}
public class Circle implements Shape {
public Point center;
public double radius;
public double area(){
return PI * c.radius * c.radius;
}
}

上面这段代码和上面的代码是对立的这种写法适合增加新的类,但是增加或者修改函数的话就要去修改每一个实现类,

过程式代码(第一种)便于在不该动即有数据(新的图形)的情况下增加或者修改函数,面向对象(第二种写法)便于在不该动即有函数(计算面积)的情况下增加新类(图形)

错误处理

遇到错误使用异常处理而不是返回码

如果使用错误码来处理错误,使用者必须在调用的之后即刻去检查错误,但是实际开发中我们总是回忘记这一重要步骤,所以遇到错误,优得抛出一个异常。抛出异常的时候要给出发生异常的环境说明,就是抛出异常的时候要明确说明哪里什么原因导致的异常。

别返回null值

早在之前的开发中解析json的时候json数据为null的时候我都直接返回null,但是在运行的时候总会出现空指针异常,后来我在json数据为空的时候返回一个没有内容的List对象,这样就避免了空指针异常。

别传递null

如题 就是传递参数的时候最好不要传null