自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 第17章 味道与启发

讲述总结了需要优化的地方:对于注释: 1.不恰当的信息,比如修改历史; 2.废弃的注释,即过时、无关或者不正确的注释; 3.冗余的注释,例如除了函数签名什么都没有注明的javadoc; 4.注释掉的代码块,不明其意的糟糕注释;对于函数: 1.参数越少越好,最多不超过3个; 2.避免输出参数,应使用返回值或者参数对象状态代替; 3.避免标识参数,例如布尔值参数; 4.去除没有调用的方法;一般性问题: 1.去除重复代码块; 2.保证边界代码正确执行; 3.正确的抽象层级; 4.多态代替多重判断操作;

2022-02-17 20:17:39 143

原创 第16章 重构SerialDate

依旧举个例子讲解修改过程: 完善测试用例,逐步修改逐步测试; 去除一些多余的注释,对于星期使用枚举代替int类型避免需要进行有效值判断; 使用工厂模式完成实体创建,实现构造与使用的分离; 优化方法和变量的命名去除重复的代码、消除魔术数的存在;...

2022-02-17 20:14:21 229

原创 第15章 JUnit

这章以几个单元测试用例为例,讲解用例从凌乱臃肿到整洁合理的修改过程。主要是对前面几章讲解的代码整洁之道的应用,方法单一职责、命名准确优雅,从方法、变量以及排版上重构出整洁的代码...

2022-02-17 20:13:46 79

原创 第14章(逐步改进)

一个命令行参数解析程序的案例改进。Args案例实现要写整洁代码,必须先写肮脏代码,然后再清理它。“能工作”的程序不能是最终程序。Args:草稿能工作,却很烂。还有两种参数类型要添加,一味蛮干会留下一堆要调整的混乱,所以重构。渐进毁坏程序最好的方法之一就是以改进之名大动其结构。采用测试驱动开发的规程。原则之一是保持系统始终能运行。采用TDD,每次修改都必须保证系统能像以前一样工作。代码能工作是不够的。能工作的代码经常会严重崩溃。随着代码腐败下去,模块之间互相渗透,出现大量隐藏纠结的

2022-02-17 20:07:34 171

原创 代码整洁之道 并发编程

1、并发是一种解耦策略,他帮助我们把做什么(目的)和何时做(时机)分解开。在单线程应用中,目的与时机紧密耦合,很多时候只要查看堆栈追踪即可断定应用程序的状态。调试这种系统的程序员可以设定断点或断点序列,通过查看到达哪个断点来了解系统状态。2、解耦目的与时机能明显地改进应用程序的吞吐量和结构。从结构的角度来看,应用程序看起来更像是许多台协同工作的计算机,而不是一个大循环。系统因此会更易于被理解,给出了许多切分关注面的有力手段。3、建议将并发相关代码与其他代码分离开来。4、两个线程修改共享对象的同一字段时

2022-02-17 19:56:53 96

原创 代码整洁之道 迭进

1、简单设计的四条规则:运行所有测试; 不可重复; 表达了程序员的意图; 尽可能减少类和方法的数量;2、全面测试并持续通过所有测试的系统,就是可测试的系统。不可测试的系统同样不可验证。不可验证的系统,绝不应部署。3、重构。递增式地重构代码。增加代码之后要琢磨一下变化了的设计,如果设计变坏了就要清理它。测试消除了对清理代码就会破坏代码的恐惧。4、不可重复。要想创建整洁的系统,需要有消除重复的意愿,即便对于短短几行也是如此。5、表达力。作者把代码写得越清晰,其他人花在理解代码上的时间也就

2022-01-06 19:04:55 115

原创 代码整洁之道 系统

1、如何建造一个城市城市在没有一我的管理时,也能正常运转,是由于它能演化出恰当的抽象等级和模块。2、将系统的构造与使用分开首先,构造与使用是很是不同的过程。  软件系统应将启始过程和启始过程以后的运行时逻辑分离开,在启始过程当中构建应用对象,也会存在相互缠结的依赖关系。将构造与使用分开的方法之一始将所有构造过程搬迁到 main 或被称之为 main 的模块中,设计系统的其余部分时,假设全部对象都已正确构造和设置。...

2022-01-06 18:59:11 182

原创 代码的整洁之道的类

1、类要短小 单一权责(SRP):一个类只有一个逻辑功能 内聚:类中应该只有较少的实体变量。其中每一个方法都应该操作一个或者多个这种变量,通常而言方法操作的变量越多,就越内聚。若一个类中的每个变量都被每个方法所使用,则该类具有最大的内聚性。内聚性高,意味着类中所有的方法和变量都被每个方法所使用,则该类具有最大的内聚性。 当追求高内聚的时候,会产生许多小类,当类丧失内聚时,应拆分为小类。2、 为了修改而组织 开放-闭合原则(OCP):类应当对扩...

2022-01-06 18:46:12 233

原创 单元测试的重要性

1、TDD 要求我们在编写生产代码前先编写单元测试。  三定律:  定律一在编写不能通过的单元测试前,不可编写生产代码。  定律二只可编写刚好无法通过的单元测试,不能编译也算不通过。  定律三只可编写刚好足以通过当前失败测试的生产代码。2、测试代码和生产代码一样重要。脏测试会让测试越变越糟,维护代价增大。故测试代码和生产代码一样重要。  测试带来一切好处  覆盖了生产代码的自动化单元测试程序组能尽可能地保持设计和架构的整洁。测试代码了一切好处,因为测试使改动变得可能。有了覆盖率高的测试...

2022-01-06 18:40:09 451

原创 代码整洁之道 边界

所谓的“边界”是指外来代码和自己写的代码之间进行整合的连接区域,自身项目调用外来代码以及外来代码提供的功能,这两部分代码就是边界。如果干净利落的将这些代码整合,就能保持软件边界的整洁。1.使用第三方代码 第三方和框架提供者追求通用性,这样就能在多个环境下工作,吸引更多的用户。而使用者则想要集中满足特定需求的接口,这样方便开发需求。正是因为服务提供者和使用者的目标的差异,导致了在系统边界上可能会出现问题。2.使用尚不存在的代码协同开发过程中经常会碰到代码调用的API还...

2021-12-10 08:51:04 449

原创 错误的处理

错误的处理在编程过程中是非常重要的,但是太多的错误处理代码有非常影响程序的完整性,所以在处理错误的时候,能使用异常处理最好用异常处理。感觉在可能发生错误的地方,放上一个异常处理,既能使代码简洁,有错误的时候也可以异常,这样就方便我们修改错误代码,这个异常处理的格式也要写好。最后,重要的是不要返回或传递NULL值,这样会无形中增加工作量,而且NULL值也会增加错误机会。...

2021-12-06 14:58:48 247

原创 对象和数据结构

对象曝露行为,隐藏数据,便于添加新对象类型而无须修改既有行为,同时难以在既有对象中添加新行为;数据结构曝露数据,没有明显的行为,便于向既有数据机构添加新行为,同时难以向既有函数添加新数据结构。在任何系统中,我们有时会希望能够灵活的添加新数据类型,所以更喜欢在这部分使用对象。另外一些时候,我们希望能灵活的添加新行为,这时我们更新欢使用数据类型和过程。优秀的软件开发者不带成见了解这种情形,并依据手边工作的性质选择其中一种合适的手段...

2021-12-06 14:29:46 246

原创 整洁的格式

当有人查看底层代码实现时,我们希望他们为代码的整洁、一致及所感知到的对细节的关注而震惊。我们希望他们高高扬起眉毛,一路看下去。我们希望他们感受到专业人士们的劳作。但若他们看到的只是一堆是由醉酒的水手写出的鬼画符,那他们多半会得出结论,认为项目其他任何部分也同样对细节漠不关心。 所以,代码的格式非常重要。代码格式不可忽略,必须严格对待。代码格式关乎沟通,而沟通是专业开发者的头等大事。 意义相近的函数或者变量,应该放到相近位置,并且被调的函数应该放到调用函数的下...

2021-12-06 13:58:47 195

原创 有意义的注释

代码的注释要有意义,否则最好不要注释。因为注释有可能造成对程序的误解,使编程人员错误理解这段代码要要实现的功能。 注释是非必要不添加的,尽量使用程序来说明这段代码的意义。如果实在是要添加,那么也要添加的有意义、简短,过长注释使编程人员没有兴趣去读完。而且没有意义的注释,编程人员也不会花费时间去看它,使得这个注释就没有必要花费时间去写了。 所以代码的注释最好不要写,如果非要写的话要言简意赅,尽量使用最简短语言描述出来,这样才能提高编程效率。...

2021-11-12 10:18:19 167

原创 函数的整洁之道

1、函数第一个要整洁就是函数名的命名,他准寻的规则就是有意义,明白,通过函数名就能了解到这个函数方法是干什么用的。2、函数的参数的数量也要有所限制,最好是就有唯一一个参数,最好最多三个。如果参数过多,就会造成麻烦,使我们在使用参数的过程中反复查看参数命名,造成困扰。而且过多的参数,也容易造成我们忘却参数设置。3、实现相同功能的函数最好都统一用一个函数,不要在不同的页面重复编写使用,否则以后修改改的时候,容易增加工作量。4、函数的内容越简洁越好,尽量把代码的行数压缩到极致。这样的好处是,使我们能编

2021-11-08 10:44:35 126

原创 有意义的命名

编程过程中,我们需要给变量,函数,参数,类,资源文件定义命名,合适的名字能给编码带来不少好处,比如易查找,见其名知其意等。 有意义的命名还能在我们需要修改程序的时候快速找到我们需要修改的程序,并且还能让我们在编写时候始终记住该变量或函数方便我们调取。 命名的时候最好不要用简写加数字的形式,因为这样是最不好识别的名称,而且也容易出现命名重复的情况。 所以,命名的时候要用有意义的英文单词。...

2021-11-08 10:28:27 76

原创 为什么保持代码整洁如此重要

为什么保持代码整洁如此重要,有很多原因。与可维护性、减少技术重复、以及提高效率和管理一个成功的项目有关。因为只有时刻保持代码整洁才能把程序写明白,把逻辑关系写清楚,减少错误的发生,也为以后的修改或者更新添加新的功能提供便利条件。整洁的代码就像一部汽车一样,只有汽车各个部件都完善,才能使汽车正常的运转,如果汽车的部件不合规,那么汽车的就不能很好的运行起来,中间就会出现很多问题,进而导致汽车出现故障或事故,所以要保证部件的合规合理,才能使汽车正常的行驶。代码也一样,只有代码整洁,才能发现问题,修改问题,

2021-10-26 10:46:28 216

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除