系列的最后一篇了,不说技术了,说人。
只要是在发展的业务,其系统就会随着业务的发展而不断的迭代。
代码也会随着每一次迭代发生变化。
热力学第三定律有云:系统的熵在没有干预的情况下是不断增大的,趋于混沌。
软件系统也是如此。
在一次一次的迭代中,代码越来越臃肿,几年之后,就没办法维护,只能大规模重构了。
对于一个优秀的程序员来说,在其维护系统期间,是可以做到让系统熵减的。
做到这一点需要程序员具备两点特质:
- 技术水平
技术好的程序员和技术不好的程序员写出来的代码是有很大差异的。
而想持续提升技术,只有一条路:保持好奇心。好奇心会驱使我们去研究各种现象背后的原理,在研究的过程中,技术水平就会不知不觉的提高。 - 责任心
责任心是技术人员最宝贵的特质之一,一个技术再好的程序员,如果没有责任心,也是做不到使系统熵减的。责任心会驱使我们不断的优化系统,使系统趋于完美,不给后人埋坑。
技术和责任心是术与道的区别,有道无术,术尚可求,有术无道,止于术。
重构应当发生于每一次迭代的过程中,不断的进行局部小规模重构,系统就可以向着健康的状态可持续发展。
API网关因为接口众多,下游对接各个业务线,好比驿站,纷扰繁杂。
必然需要有极大的耐心和毅力,才能保证网关不至于走向混沌。
技术人员在工作中,往往会因为各种因素,时间、需求、产品策略、定制化等等,不得已做一些不优雅的实现。
所有这些不优雅的实现,都会给日后埋坑。
我们能做的是,不得已时可以挖坑,但必须尽快填上。
一个好的系统,开发起来是一种享受,一个烂的系统,简直是灾难。
代码会一直传下去,做的好与否,后来人自会评判。
天道是优雅且简洁的,一如麦克斯韦方程组,一如E=mc2
经我们之手写出的代码,也应如此。