百科问答小站 logo
百科问答小站 font logo



面对很乱的代码,你会慢慢看,慢慢改,还是重写? 第1页

  

user avatar   yao-dong-27 网友的相关建议: 
      

也许你有很强的编程能力,能驾驭1000行,5000行甚至10000行代码的重写,短时间内可以完成,并且bug不多,但是10万行呢,100万行呢,甚至数千万行呢?个人的能力总是有极限的。

团队的力量呢?2-3个人或许好找,但是去哪里找50-100个愿意去重写代码的人,并且还能保证质量呢?

更难的是,到哪里找到经理或老板愿意等你半年甚至一年不响应需求,不改bug,而是去重写代码,去用一套新代码完成和老代码一样的功能,甚至可能更多的bug。

抛开程序员的完美主义情怀,理性地看待分析旧代码,问自己几个问题:

是不是继续维护的成本真的比重新开发还要高?

是不是新的团队在设计开发能力上比原有团队上了一个台阶?

是不是有一些硬需求在旧代码上无论如何都无法做到?

是不是没有竞争对手在穷追不舍而不能停止更新维护?

是不是重写能提供些杀手级功能压制竞争对手?

分别对旧代码和新架构做下 SWOT分析,看看优势,劣势,机会,威胁都是什么。

旧代码或许在架构,接口设计,变量命名和缩进风格上不如人意,但是它是可以工作的,可以工作的代码意味着解决了很多问题,而这些问题在新重写的代码里并不会因为代码写得漂亮就自动得到解决,仍然要把前辈们踩的坑再踩一遍。

那么是不是就不能重写代码呢?不是,要等机会,看缘分的。

个人认为,如果我上面问的五个问题至少三个问题的答案是“是”,SWOT分析的结果里至少三项是有利于重写的,那么可以说也许缘分来了。


user avatar   jeffz 网友的相关建议: 
      

慢慢改,一块一块慢慢重写,最终整个重写掉了。




  

相关话题

  为什么说程序员的前三年不要太看重工资水平? 
  为什么使用virtual关键字在C++与C#会出现不同的效果?求解答。 
  由种姓制度构成社会体系基础的印度,他们的网络社交是怎样的? 
  突然想开一家程序员主题的餐馆,名字就叫程序员的菜,菜名就叫各种语言中的关键字,各位指点一哈,有前途没? 
  为什么域名访问比IP慢? 
  怎么给设备加个usb口读其他设备上数据? 
  如何看待这位百度员工的吐槽? 
  如何让自己孩子生下来学会的第一门语言是C语言? 
  现在是大一计算机相关的学生,程序员的工作是不是每天都是敲一天的代码呢? 
  请问有什么好的C语言面向对象的扩展的方式?最好是有比较好的项目的源码参考。 

前一个讨论
为什么权力不能世袭,而金钱却可以世袭?
下一个讨论
外国人爱吃老干妈吗?对老干妈的评价如何?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利