作为架构师,一般到一个公司,都尽量把公司的 code 能看的过来的都看一遍。
很多 code 一看就是 jr 写的,基本上是一个 function 里面就各种问题,最基本的命名规范,最基本的 error handling 一塌糊涂,一个 function 好几百行代码。看了你都不好意思提 unit testing。
再往上,超过三个 functions 就能看到各种 copy paste。你 copy paste 倒也罢了,几百行代码 copy paste 到几个不同地方,每个地方随机挑几行暗暗改几个字儿,你几个意思?
但这些还是 dev 级的小问题。data modeling 的问题更糟糕。很多时候一看就是懒得搞懂业务需求,create table 反正也不要钱。再加上该用 SQL 的用 No SQL,该用 No SQL 的用 SQL,貌似压根就不知道也不想知道 data 分 structured / semi-structured / unstructured...
storage data modeling / db schema 都错了,居然还把它带到 business modeling 甚至 rest api layer。
以上种种,借口都是一个:老板 push,工期紧。
然后就是滥用新技术。
k8s ---- 你真的需要吗?为了 scalability?这么需要 scalability,您倒是先把 db schema 给 fix 一下啊。如果一定要上,您倒是 follow 一下 best practice 呀,那么一大坨,不能随便就那么扔在那儿呀...
Microservice ---- omg,没人问过公司该有那些 domain services,bounded context 该如何划分,一堆 micro services 就已经出现在 k8s 里了。
太多了,懒得敲了...
(声明:以上种种,纯属虚构,如有雷同,纯属巧合。)