一、背景1。1、时间紧任务重
在之前开发一套公司内部系统时一方面时间紧前期工作准备不充分,另一方面也在业务对接及编码工作的规范上做得不是很好导致了这套系统仅停留在能用的状态下。1。2、拓展不友好
其中最大的问题就是拓展性了。整个开发整体使用的是:
SpringBootshiroMyBatiseasyPoiLayuiMysql5。7(后续升级为8。0)RedisRabbitMQ的模式。
前后端无分离。这些其实都是还好的,问题就在于代码中存在不少的硬编码,这就导致了对后续业务拓展支持的不友好!
PS:能把锅推到敏捷开发上吗?不!还不是因为自己菜!!!1。3、该来的总归是要来的
最近业务有些许变更,于是这些硬编码部分就整体出问题了:不,我们不支持这样子的!
但是业务是不能停下来等人的,加之项目的重构排期比较靠后,所以暂时只能在原有系统上进行调整。二、关于硬编码2。1、什么是硬编码
这里提到的硬编码不是计算机的硬编码处理,而是软件编程时代码层面的硬编码(简单来说就是死板不支持变通的代码)。2。2、常见的硬编码示例
PS:仅为伪代码示例,意思一下就可以了!
条件处理上的硬编码if(单据检查完成。equals(orderState)){System。out。println(XXX单据检查完成了!);}
Java
信息处理上的硬编码if(true){System。out。println(小明已经完成了任务A!);}
Java
返回值上的硬编码if(小明。equals(name){return主管职位;}
Java
属性值上的硬编码StringorderAddUrlhttp:baigedu。com:8080
Java
2。3、硬编码所带来的一系列困扰
PS:简单以上述四种情况为例。
...
(全文)