Comments (2)
技术债务
- 概念
由于产品版本代码的不断迭代以及开发成员的更换后,产品代码的维护和升级越来越难以进行,这种情况称之为技术债务 - 出现原因(包括以下原因但不限)
- 开发人员的技术以及水平问题,写出的代码逻辑不规范和太过冗余,导致接手人员难以维护。
- 产品开发周期太短,导致为了产品功能和效果牺牲了代码质量。
- 后续开发成员由于种种原因无法对代码进行重构,只能在基础上不断打补丁,导致代码越来越难易维护。
- 如何解决
代码债务无法避免,只能开发人员经常review代码,规范代码写法,完善注释,简化代码逻辑,增强产品的健壮性等方法,尽量保证代码的质量和可读性。
from daily.
技术债务(软件体系结构和软件开发中最终产生结果是差劲的代码)
1、概念
债务可以被认为是工作之前必须完成特定的工作。从演化代码开始,经常有需要对变化做出协调的,同时也包括其他部分的代码或文档,也被认为是在一些在未来必须支付的债务。它也会在重构中(消除重复/冗余代码),随着时间的推移让代码质量恶化。
2、产生原因
- 项目需求的变更或者开发人员能力问题等原因造成代码逻辑不规范
- Bugs 出现bug之后,在原有基础上缝缝补补,或者修改阶段过于偏向产品和功能而并未对整个解构有完整的感知。
- //TODO 一些TODO写的时候目的是稍后阶段重新审视这些问题。这些项目在不知觉的情况下变成了技术债务
- 遗留代码,无法摆脱的一些旧的技术依赖
- 工作中的项目,由于项目的运行,无法对原有一些模块进行重构
3、解决原因
- 尽量今日事今日毕,TODO等类型的代码,尽量在发现的当下直接优化,即使它会使你消耗掉更多的时间,不要试图去躲避,否则可能会造成更多的技术债务。
- 多想多做多思考,规范代码写法,多写注释,简化代码逻辑。
- 将你发现的所有问题,尽量都记录下来,列为一个待检表(偿债计划表),很多债务你没办法当场解决,等待合适的修补时间,有些没有办法解决的问题,可以在下个项目设计阶段提前预防,或者代码书写时提前优化。
- 规范代码写法,规范代码写法,规范代码写法。
from daily.
Related Issues (20)
- 第二十三题:新窗口打开链接的方法是什么?那么如何使全站链接都打开新窗口? HOT 1
- 第二十四题:介绍一下HTML5中的ruby标签 HOT 2
- 第二十五题:new操作符都做了什么事情? HOT 2
- 第二十六题:你所在的团队有规范吗?举例说明都定义了哪些规范? HOT 1
- 第二十七题:用洗牌算法实现一个打乱数组的方法 HOT 3
- 第二十八题:实现数组的并、交、差、补集这四个方法 HOT 2
- 第二十九题:什么是链表? HOT 1
- 第三十题:两数相加
- 第三十一题:描述一下原型和原型链,以及之间的关系
- 第三十二题:什么是高阶函数? HOT 1
- 第三十三题:柯里化?
- 第三十四题:如何快速的适应新工作?
- 第三十五题:为什么不常用table和iframe这两个元素?
- 第三十六题:聊聊单元测试?
- 第三十七题:void 0 HOT 1
- 第三十八题:BEM 规范 HOT 1
- 第三十九题:Webpack的优缺点 HOT 1
- 第四十题:实现一个Promise HOT 1
- 第四十一题:TypeScript的优劣点 HOT 1
- 第四十二题:React 获取 ref 的方法都有哪些? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from daily.