我的实践记录:那次纠结的“矛与盾”
得,今天聊聊我之前捣鼓一个东西时候遇到的破事儿,我自个儿给它起个名叫“二丁目的拓也矛与盾”。听着挺唬人是?就是说,当时我碰上个两难的局面,进一步也不是,退一步也不是,贼难受。
事情是这样的,我手头当时在维护一个小工具,也不是啥大事儿,就是内部自己人用,跑跑数据,处理点杂活。用着用着,我就琢磨着,这玩意儿还能不能再抢救一下?能不能搞个大动作?这就是我心里的“矛”。我想给它加个新功能,特牛逼的那种,或者干脆整个重写一遍,让它脱胎换骨,效率嗖嗖的。心里想着,搞成,这得多亮眼。
这就是那把跃跃欲试的“矛”:
- 想加个自动化“大杀器”,一键搞定以前半天的事。
- 琢磨着把底层给换,用个更时髦的技术,跑得更快,以后扩展也方便。
- 甚至有点野心,想着能不能把它弄得通用点,给别的部门也用用。
但现实立马就给我上一课,也就是那面“盾”挡在前面。
这就是那面坚不可摧的“盾”:
- 这工具,历史悠久,代码跟那老太太的裹脚布似的,又臭又长,里面坑坑洼洼,谁碰谁流泪。
- 用习惯的人多,都是老员工,你稍微改点他们就觉得不顺手,抱怨能把你淹死。
- 最关键的是,没资源!老板可不管你技术多牛逼,不出错就行,哪有时间给你慢慢磨?稳定压倒一切。
- 再说,万一改出问题,影响正常工作,那锅谁背?肯定是我!
那段时间我就跟精神分裂似的。一方面,心里那把“矛”痒痒得不行,总想往前冲,搞点名堂出来。另一方面,那面“盾”就死死地立在那儿,提醒我别作死,稳住,别浪。
我试过偷偷摸摸地搞。晚上加班,周末在家,对着那堆破代码,想撬开一条缝,把我的新想法塞进去。结果?要么就是改半天,发现跟其他地方冲突,要么就是好不容易改好,自己测试没问题,一给别人用,得,出新bug。
真的是,进一步,怕把整个摊子搞砸,挨骂不说,还得加班加点往回改。退一步,又不甘心,眼看着能更好的东西就这么半死不活地运行着,心里憋屈。
这事儿折腾我小半年。咋样?
嗨,还能咋样。就是个妥协的结果。那个“大杀器”功能,阉割一半,做成一个不痛不痒的小改进。底层重构?想都别想,缝缝补补又三年。算是“矛”戳个小口子,“盾”还是基本挡住。
现在回想起来,这“二丁目的拓也矛与盾”,就是理想和现实的拉扯。想搞点突破(矛),就得面对现实的各种限制(盾)。硬冲,容易头破血流;完全不动,又心有不甘。大部分时候,我们都是在找那个平衡点,虽然过程挺拧巴,但也算是实践中必须经历的一课。