第二次读代码整洁之道(Clean Code)了,在少许开发经验加持下,没有第一次那么晦涩后,整体对本书也有了共鸣,这本书应该作为指导手册,平时可以多翻一翻,说不定会有新的不同感悟,当然了,书中的条例并不需要你照本宣科地按着做,那样没意义。
首先,代码就像书稿,在完成一件作品之前,我们需要不停地对作品进行推敲,所以重构是贯穿这个代码的生命周期,在这个过程中,隐含着一个工作前提:测试用例。
单元测试
本书用了一大章节来讲单元测试,但核心就一句话,测试驱动开发(TDD)的编程思维,这只是一个方法论,并不是什么规范。
例子
我们可以先写以下的测试代码,再定义User 以及 UserService的逻辑
@Test
void test() {
User user = User.build();
userService.create(user);
};
方法论在于,无论任何方式,比如采用postman编写http请求也可以进行测试,但通过硬代码更大的优势在于测试用例靠近于使用端,便于传阅查看。
ps:不写测试的代码就像上大号不洗手
代码结构
垂直分隔
上文讲到测试用例靠近于使用端,在我们进行阅读时,也是习惯性自上而下阅读,当变量或者函数在被调用附近所定义时,也即垂直距离更近时,更方便阅读。
类成员
面向对象编程时,类成员变量的访问通常来说都应该由实体进行操作,所以我们经常性会提供get set方法,如以下
class test {