越学越上瘾   12.12 来百知学IT   课程全面升级

立刻报名学习

400-616-5551

您所在位置: 首页> IT培训> 出来混总是要还的 | @程序员,你的技术负债还了吗?

出来混总是要还的 | @程序员,你的技术负债还了吗?

发布百知教育 来源:IT培训 2019-09-02

在软件工程领域中,“技术债务“是一个贬义词。人们在使用这个词的时候常常表达出某种遗憾,过去犯下的错误,最终需要通过重构来弥补。


什么是技术负债?


技术负债(英语:Technical debt),又译技术债,也称为设计负债(design debt)、代码负债(codedebt),是编程及软件工程中的一个比喻。指开发人员为了加速软件开发,在应该采用最佳方案时进行了妥协,改用了短期内能加速软件开发的方案,从而在未来给自己带来的额外开发负担。这种技术上的选择,就像一笔债务一样,虽然眼前看起来可以得到好处,但必须在未来偿还。


2.png


技术债务的产生有着很多原因,但其中更多的是由于要在短时间内匆忙完成原本耗时较长的工作,导致部分业务逻辑没有完整的设计等,使得产品在短时间内有效,但是长远来看,却是一颗不稳定的炸弹,一旦触发,对产品、对企业都有可能造成无法挽回的损失。


总而言之,技术债务会带来很多麻烦,有些甚至是“致命”的。


那么身为技术开发者,该如何偿还技术负债?


11.png


如何偿还技术负债?


技术债务分为有意的技术债务和无意的技术债务,两种形式的技术债务形成的原因和带来的结果是不同的,解决方法也不同。


无意的


由于经验的缺乏导致初级开发者编写了质量低劣的代码。


解决方案


1.技术培训


毕竟大部分的程序员学习能力还是很强的,部门牛人的培训还是很有必要的,也是学习的重要途径之一。

从最开始的代码规范、到熟悉业务、最后再到编写文档。


2.CodeReview


CodeReview 是非常重要的,同时也是对自身的一个提高。


在这个阶段不同工程师之间可以相互review,审查别人的代码能够发现很多问题,同时也能学到很多知识。


有意的


团队根据当前而非未来进行设计选型,这种方式可能很快就能解决当前的问题,但却很拙劣。


这就情况很可能是为了图省事才这样干的。也有可能是工期太短,人员太少,技术问题等等。


解决方案


1.系统设计的框架是对的


必须能够有效处理当前需求可预见的情况,对于未知的、可能出现的特殊情况,很小的改动就能解决问题。


根据当前的业务,进行合理的创建数据表,尽量的代码解耦和。必须有日志模块,操作日志,错误日志,业务日志等等...


2.所有的工程师有主人翁的意识


开发前,针对产品提出的需求,进行要进行细节确认,自己也可以画一个程序的流程图。


开发时,首先把流程全部顺下来,其中遇到调用其他接口、技术难点、需求模糊,及时确认或记录 TODO 标签。


开发后,及时对自己的流程进行确认,查看代码中是否有未解决的地方。


每个公司都有自己任务管理系统,例如JIRA之类的,提测后,时时关注自己的BUG。


如果与产品有分歧的地方一定要及时沟通,达成共识。


3.一定要有健全的测试环境、预发布环境、正式环境


因为有些程序可能需要进行压力测试,所以服务器的配置还是很关键的。


多个环境的测试,更能保证程序的健壮性。


4.定期处理一些技术债务


等产品上线后,开发就没有那么紧啦,这个时间大家可以找个时间处理技术债务,一边建立感情,一边品味一下原来的代码,是不是酸爽无比。


5.善于发现系统的技术债务


勇于发现系统中的技术债务,当然不是为了所谓的奖励,仅仅是为了自己的提高,让自己为系统负责,而不是事不关己高高挂起。


当然,最重要的其实是把技术债务的重要性提到一个被认可的位置上。


工程师如果能遇见一个债务可能导致的问题,自然愿意花时间去处理。


技术债务是伴随着项目出现而且无法避免,但是如何保持其在可控范围之内,是我们应该思考的问题。技术债务的避免和消除都需要优秀的开发人员,人始终是软件开发中最重要的因素。作为一名普通的码农,不断地提升自己是非常必要的。


上一篇:零基础怎样学IT难吗?新手如何快速入门?

下一篇:大数据培训班 | Python数据分析学习路线个人总结

相关推荐