吐槽-几点编程误区说明
企图避免修改现有代码,依靠冗余对现有实现进行扩展
现象
项目的现有功能需要升级时,为了避免修改现有代码,重新定义新的API,甚至copy核心业务逻辑代码
完全不遵守DRY原则
《程序员的职业素养》中提到,这种行为是在破坏软件结构
合理解决方案
-
保持责任心
拿出时间与精力,勇敢修改现有代码,依靠单测保证正确性(这也体现单测的重要性,恕我直言,没有单测的代码只是一堆垃圾)
自测与回归测试也同样重要,不可省略
-
心存善意,对后来人负责
短期不需要做测试回归,但长期会维护多分类似的代码,很大的可能是永远不会被合并,一般人不愿意冒这个修改的风险
颇有责任心的优秀的同事会着手重构,他会面临更大的压力,需要更多的回归测试。唉,为前人收拾烂摊子,这不应该是他的义务。
企图提升数据库扩展性,为表预留备用字段
详见这篇文章 程序员应知——数据库设计的两个误区 (此文还介绍了另一个数据库操作的弊端:对数据记录id进行编码,赞作者的分享)
截取文章重点,说明如下
预留备用字段存在如下几个问题
- 增加大量备用字段,必定会浪费很多空间
- 用不了多久,就没有人能够说清楚到底哪个字段代表的是什么意义了
- 增加了这些备用字段就真的会够用吗?
合理解决方案
- 如果数量很少,而且信息的性质与原表密切相关,那么就可以直接在原表上增加字段,并将相关的数据更新进去
- 如果数量较大,或者并非是原表对象至关重要的属性,那么就可以新增一个表,然后通过键值连接起来