为什么还在用老技术
如果到一个公司,发现公司内部的系统不是自己想象的使用目前最新的技术,有可能部分核心业务还停留在几年前,还有就是大量的遗留代码在代码库中。当然也有可能是这样,内部的使用的技术是业界的潮流,但是外观和界面还停留在上个世纪的感觉。这时,你是不是感觉有点像进入了贼窝的感觉,O(∩_∩)O哈哈~
其实这可以分为两种情况讨论,一种是现在的互联网公司,一种是传统的企业,其完全是两种不同的情况。
首先来说一说互联网公司,现在大多的互联网公司都是在这两三年之内成立的,并且由于和传统企业不同的发展模式,所有大部分的架构设计和代码库中的代码都可以说是相当新的。其大部分的客户是面向普通的使用者,只有今年开始有部分公司开始搞企业服务。由于架构看起来是最新的,所以不会有一种技术还停留在上个世纪的感觉;并且由于许多代码都是较为新的或者是以较新的思想来写的,所以遗留代码和技术债务上的问题不是那么的突出;还有就是互联网公司的产品都需要快速的占领市场,所有界面上和交互上的设计都给人一种新颖的感觉,所有不会出现那种界面设计还停留在上个世纪的感觉。
对于传统的企业的来说,大部分的企业的客户是企业的员工或者是本企业的其他员工,无论是B/S还是C/S的设计,都要考虑一个平滑过渡的准则,因为一次界面设计的大改,带来的不是好处,有可能还会带来其他一些问题,其主要的还是利益的问题。界面的大改,首先企业需要对员工进行培训,还有就是在使用的时候的磨合期,另外还有就是兼容性的问题,这样隐形的成本,带来的就是界面不会进行大面积的更改,可能会在小版本中一点一点的进行修改,让员工慢慢的适应这样一个过程。
来说代码,对于传统企业的用户,其主要考虑的是稳定性和可使用性。本着宁肯不升级也要保证整个业务系统的稳定运行。由于这样的想法存在,所有许多的功能改进可能要进行完备的测试才能上线,然后这个时候,技术可能以及被所谓的主流市场淘汰了。还有就是在架构设计的初期和技术选型的时候,可能由于种种原因没有使用最新的技术,所有就有可能感觉这个架构存在各种各样的问题。并且到了后期,大量的技术债务和遗留代码存在,升级换代的时候就会出现各种各样的问题,导致谁都不敢去动老的架构和老的代码,除非碰到一个比自己还要牛的人作为保护,不然就慢慢的成为祖传代码。
对于技术来说,不同的公司和不同的情况应该进行不同的区分,对于技术导向型的公司来说,还是需要根据技术的不同来进行升级。而对于业务导向型的公司,在完成现有业务的情况小,系统还应该有一定的冗余设计,这样才能保证业务的正常运行。
Author: moyu-x
Link: http://moyu-x.com/2017/01/28/201701/OldTechnology/
License: 知识共享署名-非商业性使用 4.0 国际许可协议