不要总盯着自己无法改变的部分,多花时间精力在自己可以影响和掌控的事情上。
不仅讲道理,还给给出当前环境下的实质性的建议,好喜欢宝玉老师的专栏!
文章目录
1、如何提升开发效率
三个简单的原则。
1.1、积极主动
成为一个高效程序员,最大的阻力不是来自于不知道方法,而是自己的消极心态。
首先要知道,无论这些事情的本质责任是在于环境还是个人,抱怨排斥的心态对于实际工作的改进是没有任何帮助的。有两个行之有效的建议:
想想再回应
每个人对于外界的刺激都会做出反映,本能的或者习惯性的,比如遇到事情会本能的觉得都是外部原因,如果一直这样,就会进入恶性循环,变得更加消极麻木。
在回应之前,给自己一点时间想想,站在积极的方面理性思考一下,就可以去控制你的本能反应。
减少关注圈,扩大影响圈
不要总盯着自己无法改变的部分,多花时间精力在自己可以影响和掌控的事情上。
读起来觉得自己很渺小,很平静。这一段我截图分享给好多好友啦~
以始为终
先搞清楚目标,再开始动手。在做事情的时候注意三点:目标、原则和计划
- 经常停下来想想目标:原始目标是什么?目前在做的事情是否偏离目标?如果偏离,那么马上回到自己的原始目标去。
- 制定原则:好的方法都是要坚持做才有效果的。
- 公开自己的计划:Deadline是最好的生产力。
宝玉老师给自己的定的几个原则,可以参考:
1.2、要事第一
保证有限的时间用在最有价值的事情上。
几个参考原则:
- 重要不紧急的要事,要花最多的时间在上面:如代码重构、自动化测试代码、确认清楚需求文档
- 紧急不重要的事凑一起集中做:专注干活的时候,全屏、关闭消息通知,保证没有干扰,忙完再处理。
- 不重要不紧急的事情能不做就不做
改变不会是一两天就能完成,但也不用着急,因为习惯的养成需要时间的积累才能变成条件反射。当你把好的原则或方法变成了直觉反应,自然会成为一个高效的程序员。
2、持续交付
持续集成和用什么开发模型是没有关系的,好处是:
- 尽快暴露问题:自动化测试可以让测试人员尽早介入,及时发现问题。
- 极大提升效率:自动化,效率更高
- 提升质量:每次合并之前都需要通过自动化测试。
- 降低项目成本
2.1、如何搭建持续交付环境
准备:
- 要有源代码管理工具
- 要写自动化测试代码
项目需要满足以下条件:
- 对代码构建的过程是可以反复进行的,并且每次构建的结果是一致的、稳定的。
- 所有环境的配置都存在于源代码管理工具中,不仅仅是代码。
- 需要自动创建针对不同环境的发布包。
- 所有环境的部署发布步骤都必须是自动化的
选择持续集成工具:
- Jenkins
- Go CD
- GitLab CI
- Azure Piplines
3、自动化测试
自动化测试是如何保证质量的:自动化测试可以直接绕过界面,对程序内部的类、函数进行直接测试。如果有一定量的自动化测试代码覆盖,相对来说是更有保证的。
自动化测试的类型:
小型测试:验证代码单元的功能。不需要依赖外部,如果有外部服务,必须使用一个模拟的外部服务。
中型测试:两个或多个模块应用之间的交互,也叫集成测试。是否使用模拟服务,取决于单机情况下能否完成集成测试。
大型测试:较高层次运行,作为一个系统来验证。
3.1、如何写好自动化测试代码
测试代码包含四部分即可:
- 准备:创建实例、创建模拟对象
- 执行:执行要测试的方法,传入要测试的参数
- 断言:检查结果对不对
- 清理:对数据进行清理,不影响下一次测试
对同一个功能,一个完成的自动化测试包含三个部分的测试:
- 验证功能是否正确
- 覆盖边界条件
- 异常和错误处理
3.2、如何选择实施自动化测试
step1:选择好自动化测试框架
step2:在持续环境上跑自动化测试
标准流程:
- 在提交代码前,先本地跑一遍单元测试
- 单元测试成功后提交到源代码管理中心,提交后持续集成服务会自动运行完成的自动化测试
- 通过所有测试后,合并到主分支
step3:为新老项目采取不同的策略
新项目一开始保持自动化测试代码的覆盖率,可以采用TDD的开发模式。
老项目先把主要的功能场景的中型测试写起来。
4、源代码管理工具
如何用好源代码管理工具:
- 要频繁的提交:便于code review以及快读定位问题和回滚。要对提交的内容进行分拆并保证完整性。
- 每次提交后要运行自动化测试
- 要有代码审查
4.1、如何做好代码审查
首先了解提交代码要解决的问题,思考解决方案。对审查出来的问题,分成三个类型:
- 问题:提出问题,澄清确认
- 建议:更好的实现
- 阻塞:有必须要修改的问题。
4.2、开发流程
推荐阮一峰老师的文:Git 工作流程
1、创建分支
2、提交更新
3、创建Pull Request
4、讨论和代码审查
5、部署测试
6、合并