美文网首页
临时方案与技术债

临时方案与技术债

作者: 梦林 | 来源:发表于2016-11-06 21:56 被阅读39次

在软件产品的不同阶段,总免不了一些临时的方案。有时一个严重的BUG分分钟要人命,鬼知道要多久才找得到根源。在入口加个检查好了,如果是某种类型的输入,就做个特殊处理,把线上问题解决了再说。有时新功能为了兼容老版本,好吧,在标准协议上加个特殊的命令字,没有这命令字就怎么怎么做。

临时方案就像在院子栅栏上开个小小的口子。过一阵子,你的同事,或者你自己,看到有现成的机制,也依样画葫芦,照着做一个。久而久之,小口子变成了大窟窿。年深日久,大大小小的窟窿,让原来优雅的设计早已无影无踪。

分析这期间人们的心理很有意思。当你想到一个很聪明的技巧,可以用很小的改动解决一个急迫的问题时,无论同事还是上司都会给你点赞。过了一阵儿,这事儿就给忘光光了。后来者看到这段代码,脑袋里大大的What the fuck。想象某个大马路上的井盖没了,路过的好心人拿块破木板给遮起来,以后路过的行人司机,绝少会感激这个举动,只会骂怎么还没修好,一经过就哐铛哐铛地响。团队里每个人都想,这代码太垃圾了,一定要找时间好好重构一下。直到离开团队,或者产品退役那一天,那代码还在那里带病跑着,或者压根没跑过。

这事也不只是在代码里存在。当年人们早早地发现了IP地址短缺的问题,嗖地一声整体迁移到IPv6已经不可能,于是NAT(网络地址转换)作为临时方案就出来了。多年之后,NAT变成了互联网运行的关键一部分。放眼看看,哪个家庭、公司、学校的网络不是私有IP地址段了,经常还是层层NAT,你家里是192.168,登录到宽带猫上面一看,ISP给的地址又是10.0打头。

现在风头正劲的JavaScript,当初创造出来,不过就是拿来做个跑马灯之类的装饰,何曾想过要承担现在的重任?可这一路从XMLHttpRequest到AJAX再往后CORS、WebSocket之类,竟全是为了解决这个那个的问题。

仔细想想咱这行当还是好的。咱们都把修改产品代码叫打补丁。试想一下,一件阿玛尼西服打了成千上万个补丁后是啥样子?而流行的软件,哪个不是补丁摞补丁?摞得多了,就把整块去掉,换上大的补丁。就这样从不知名的黄口小软件,慢慢变成支撑这个世界运行的一部分。

当你开始创造一个软件的时候,潘多拉的盒子同时也就打开了。BUG、需求变化、安全、可靠性、性能、可扩展性……各种各样的问题都从那里飞出来,只有完美软件的希望留在盒底。人类世界自古如此,软件也是。

相关文章

  • 临时方案与技术债

    在软件产品的不同阶段,总免不了一些临时的方案。有时一个严重的BUG分分钟要人命,鬼知道要多久才找得到根源。在入口加...

  • Scrum精髓之第8、12章

    首先定义技术债,它包括低级技术债、不可避免的技术债和策略性技术债。如今,技术债既指我们有意选择的捷径,又指...

  • idea springboot maven项目启动:Proces

    临时解决方案: 邮箱:ithelei@sina.cn 技术讨论群:687856230 GoodLuck

  • scrum精髓(敏捷转型指南)第八章

    【目录】 技术债 技术债指有意选择的捷径,又指许多损坏软件系统的不良实践。 技术债具体包括 1.不合适的设计(技术...

  • 《Scrum精髓》之技术债

    《Scrum 精髓:敏捷转型指南》全书45.7万字。本次读第8章技术债。 1. 技术债概述 技术债是Ward Cu...

  • 技术债

    技术债

  • 技术债

    我们在平时老是说要消除技术债,那么这句话就有两个问题: 1)啥叫技术债 2)是不是一定要消除 先谈第一个问题什么是...

  • 技术债

    概述 代码写好就交,意味着欠债的开始。稍微欠点技术债得确可以加快速度,但前提是事后及时重写代码,如果只借不还,后果...

  • 技术债

    技术债是什么? 在金融领域通过短期的借贷获得充足的资金加快发展,代价就是除了本金之外还要付出利息。软件领域也一样。...

  • 关于技术债

    读了两篇文章,其中都提到了技术债: 技术债,迟早是要还的 -- 《ScrumMaster精髓》第八章技术债读后感 ...

网友评论

      本文标题:临时方案与技术债

      本文链接:https://www.haomeiwen.com/subject/cyunuttx.html