之前没有从头开始做过项目,现在这个项目是跟几个家伙真真从头开始做的。一开始的时候是多快好省,大跃进似得把 demo 先做出来。也没进行过什么几轮框架结构上的设计和 review ,能省的地方就省,能跳的地方就跳。结果后边需求一值变,先是 TI 的 Linux ,然后是 sumsung 的 linux ,然后又 TI QNX + TIOVX, 后边又回到了 TI LINUX + TIOVX, 还要支持 X86 LINUX 。整天都在打补丁,现在真的到处都是答辩了。欠的债,早晚都是要还的。

“让我从头写,我保证不会有屎山代码” 狗头~

重构( doge

技术高利贷😣

之前只搞过 CRUD ,没啥经验,这个感觉太吃经验了

我想着其他 title 比我高的人会看不下去然后重构呢,但是他们也只是默默地在屎山上耕耘

主要还是看对需求的预测,做少了欠债,做多了过度设计,没有最好,只有更好

放心,就 lz 这项目需求的变动频率和变动规模就算一开始好好设计最终成品也不过是精致的屎山

所有的项目都是这样的1.要么你有能力在开发的时候就把技术债务解决(成本最高)2.要么你就是用最快的速度做出来(省钱省时间,当下成本最优解)3.要么你就是过一段时间项目稳定阶段利用前期积累的经验做一次重构(中长期项目,最优解)前一个阶段为什么流行中台,最核心的目的就是把老旧系统有价值的功能摘出来,重新组建一个系统找人重新维护开发,进行代码重构和文档补充,同时进行性能优化和架构升级。没有技术债务的项目就像是在上帝视角看问题,能对需求方向有绝对的管控权利,不然的话是不可避免,只是有经验的人会减少技术债务,但绝对不会没有。

这个世界上没有绝对完美的东西 都是各种因素妥协的产物,软件工程亦是如此。能支撑好业务 就是好系统 重构优化这是底线,你的开发体验的优先级并不会很高。

就这一句 结果后边需求一值变 怎么搞都是债

一开始是给了要支持好几个平台的暗示的,但没想到是这个月交付这个平台的,下个月交付另一个平台的,下个月再换一个,但是需求是正常推进的

八成本来也没钱没资源从头开始搞成精品...

放弃完美主义情结,人类发展了几百万年,还到处是纷争。微软 windows 已经不惑 了,还在更新。

看看 yocto

我们之前也是类似,追快,产出了很多不可名状的功能代码,奇怪的拼接。

都一样的哪怕是牛逼的 Jetbrains 重做 ide 也是麻烦。

imgur.com/sdCJSb6

jb 他们修复 ide 输入中文问题修了十几年了 还没修好. 产品经理发誓都好几次了, 说了几次 这个版本绝对修好了.

没有经验的话,基本就是这样的啦。能在没有经验的前提下做好结构设计,为以后的扩展和局部重构建立基础的人万中无一。

局部最优解不一定是全局最优解。最佳的设计实践就是在迭代的过程中重构。

技术债就是自己技术不行赖管理。