开发编码
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、合并