1、如何提升开发效率

三个简单的原则。

1.1、积极主动

成为一个高效程序员,最大的阻力不是来自于不知道方法,而是自己的消极心态。

首先要知道,无论这些事情的本质责任是在于环境还是个人,抱怨排斥的心态对于实际工作的改进是没有任何帮助的。有两个行之有效的

建议:

想想再回应 每个人对于外界的刺激都会做出反映,本能的或者习惯性的,比如遇到事情会本能的觉得都是外部原因,如果一直这样,就

会进入恶性循环,变得更加消极麻木。

在回应之前,给自己一点时间想想,站在积极的方面理性思考一下,就可以去控制你的本能反应。

减少关注圈,扩大影响圈

不要总盯着自己无法改变的部分,多花时间精力在自己可以影响和掌控的事情上。

以始为终 先搞清楚目标,再开始动手。在做事情的时候注意三点:目标、原则和计划

经常停下来想想目标:原始目标是什么?目前在做的事情是否偏离目标?如果偏离,那么马上回到自己的原始目标去。制定原则:好的方

法都是要坚持做才有效果的。公开自己的计划:Deadline是最好的生产力。

宝玉老师给自己的定的几个原则,可以参考:

1.2、要事第一

保证有限的时间用在最有价值的事情上。 几个参考原则:

重要不紧急的要事,要花最多的时间在上面:如代码重构、自动化测试代码、确认清楚需求文档紧急不重要的事凑一起集中做:专注干活

的时候,全屏、关闭消息通知,保证没有干扰,忙完再处理。不重要不紧急的事情能不做就不做

改变不会是一两天就能完成,但也不用着急,因为习惯的养成需要时间的积累才能变成条件反射。当你把好的原则或方法变成了直觉反应,自然会成为一个高效的程序员。

2、持续交付

持续集成和用什么开发模型是没有关系的,好处是:

尽快暴露问题:自动化测试可以让测试人员尽早介入,及时发现问题。极大提升效率:自动化,效率更高提升质量:每次合并之前都需要

通过自动化测试。降低项目成本

2.1、如何搭建持续交付环境

准备:

要有源代码管理工具要写自动化测试代码

项目需要满足以下条件:

对代码构建的过程是可以反复进行的,并且每次构建的结果是一致的、稳定的。所有环境的配置都存在于源代码管理工具中,不仅仅是代

码。需要自动创建针对不同环境的发布包。所有环境的部署发布步骤都必须是自动化的

选择持续集成工具:

JenkinsGo CDGitLab CIAzure Piplines

3、自动化测试

自动化测试是如何保证质量的:自动化测试可以直接绕过界面,对程序内部的类、函数进行直接测试。如果有一定量的自动化测试代码覆

盖,相对来说是更有保证的。

自动化测试的类型: 小型测试:验证代码单元的功能。不需要依赖外部,如果有外部服务,必须使用一个模拟的外部服务。 中型测试:

两个或多个模块应用之间的交互,也叫集成测试。是否使用模拟服务,取决于单机情况下能否完成集成测试。 大型测试:较高层次运

行,作为一个系统来验证。

3.1、如何写好自动化测试代码

测试代码包含四部分即可:

准备:创建实例、创建模拟对象执行:执行要测试的方法,传入要测试的参数断言:检查结果对不对清理:对数据进行清理,不影响下一

次测试

在这里插入图片描述
对同一个功能,一个完成的自动化测试包含三个部分的测试:

验证功能是否正确覆盖边界条件异常和错误处理

3.2、如何选择实施自动化测试

step1:选择好自动化测试框架

step2:在持续环境上跑自动化测试

标准流程:

在提交代码前,先本地跑一遍单元测试单元测试成功后提交到源代码管理中心,提交后持续集成服务会自动运行完成的自动化测试通过所

有测试后,合并到主分支

step3:为新老项目采取不同的策略 新项目一开始保持自动化测试代码的覆盖率,可以采用TDD的开发模式。

老项目先把主要的功能场景的中型测试写起来。

4、源代码管理工具

如何用好源代码管理工具:

要频繁的提交:便于code review以及快读定位问题和回滚。要对提交的内容进行分拆并保证完整性。每次提交后要运行自动化测试要有

代码审查

4.1、如何做好代码审查

首先了解提交代码要解决的问题,思考解决方案。对审查出来的问题,分成三个类型:

问题:提出问题,澄清确认建议:更好的实现阻塞:有必须要修改的问题。

4.2、开发流程

推荐阮一峰老师的文:

1、创建分支

在这里插入图片描述

2、提交更新

在这里插入图片描述

3、创建Pull Request

在这里插入图片描述

4、讨论和代码审查

在这里插入图片描述

5、部署测试

在这里插入图片描述

6、合并

在这里插入图片描述