在软件工程领域,“技术债务”是一个负言。 人们在使用这个词的时候,经常会表达出某种遗憾,过去犯的错误,最终必须通过重建来弥补。
什么是技术负债?
技术负债( Technical debt )翻译技术负债,也称为设计负债( design debt )和代码负债( code )
debt )是编程和软件工程的比喻。 开发人员为了加快软件开发速度,在应该采用最佳方案的时候妥协,采用能够在短时间内加速软件开发的方案,是指将来给自己带来的额外的开发负担。 这项技术选择,像债务一样,目前看似有利可图,但必须在将来偿还。
技术债务的发生有很多原因,但其中很多原因都是由于本来需要花费时间的工作必须在短时间内迅速完成,因此一些业务逻辑没有完全设计等产品在短时间内有效,但是长期来说是不稳定的炸弹,如果触发,可能会给产品和企业带来无法挽回的损失
总之,技术债务带来很多麻烦,有些甚至“致命”。
作为技术开发人员,如何偿还技术负债?
如何偿还技术债务?
不知不觉地
由于经验不足初级开发人员写了质量差的代码。
解决方案:
1 .技术培训
毕竟,大多数程序员学习能力强,部门牛人训练也是学习的重要途径之一。
从第一个代码规范开始,熟悉业务,最后创建文档。
2 .代码审阅
CodeReview非常重要,同时也是自身的改进。
在这个阶段,不同的工程师之间可以相互评论,通过审查他人的代码可以发现很多问题,同时也可以学到很多知识。
故意的
团队根据现在而不是将来进行设计选型,这种方法可能很快就能解决现在的问题,但很差。
这个可能是为了省事而做的。 工期过短,人员少,也可能出现技术问题等。
解决方案:
1 .系统设计框架是正确的
必须有效地处理当前需求可预见的情况,对于未知的、可能发生的特殊情况,可以通过小的变化解决问题。
根据现在的业务,合理制作数据表,尽量解除代码的结合和结合。 需要日志模块、操作日志、错误日志、业务日志等…… ...
2 .所有工程师都有主人公的意识
开发前,对产品的要求进行细节确认,也可以自己画程序的流程图。
在开发过程中,首先顺利进行所有过程,其中其他接口、技术难点和需求变得模糊,以便立即查看和记录TODO标签。
开发后,立即确认自己的流程,检查代码是否有未解决的地方。
每个公司都有自己独特的任务管理系统,比如JIRA,在推测之后,总是关注自己的错误。
如果与产品有不同之处,应立即沟通,达成共识。
3 .需要健全的测试环境、预发布环境和正式环境
服务器配置很重要,因为有些程序需要压力测试。
多环境测试可以进一步保证程序的稳健性。
4 .定期处理若干技术债务
自从产品上线以来,开发并没有那么紧张。 在这个时候,找到处理技术性负债的时间,一边创造感情,一边尝试原来的代码。
5 .善于发现系统的技术债务
发现系统技术性负债,当然不是为了报酬,而是为了提高自己,不是让系统负责,而是不在乎自己。
当然,最重要的是提到技术债务的重要性被承认的地方。
如果工程师能遇到导致债务的问题,当然想花时间处理。
总结
随着项目的出现,技术债务是不可避免的,但是如何保持在可控制的范围内,是我们必须考虑的问题。 避免和消除技术债务需要优秀的开发人员,人始终是软件开发中最重要的因素。 作为普通的代码农家,需要不断提高自己。