高级代码:人情世故。
如何成为一个高级程序员?你可能要想想是不是穿冲锋衣、穿格子衫了。高级程序员有高级程序员的习惯,只要代码写到一定程度了,习惯一定是那个样子。
好多人在想怎么学习成为一个高级程序员?初级和中级可能知识比较重要,到高级的时候一定是社会阅历比较重要。你见过程序吵架吗?我估计大多数人都没有见过,因为它们都是内部的程序,遇不到这个场景。

我曾经遇到过有一个资源是共享的,多个公司同时在用你,写进去的数据被别人改了,程序就出错了,这时候程序就要和别人的程序进行打架。就算遇不到这种极端的情况,自己的程序实际上也有一些社会阅历在里面。如果社会阅历差,设计出来的东西完全是闭门造车。

程序解决的大概率是人已经解决过的问题,只不过用程序解决来说批量化好降低人效,然后继而代替人作为一个自动化的作品在生产线上持续的存在。
做一个类比和最近的考研复试差不多,考分高的人很多,但是很多人达不到复试的水平。因为经历不足、动手能力不足、经验也不足、生活阅历也不足。至于代码写成什么样子、怎么写,大概率产品都已经规划好了要什么东西,但是要的办法和实现的办法是不一样的。因为实现的是机器最认为好的办法,成本比较低、比较稳定、比较容易维护。

这些东西很多都是社会阅历,而不是懂得怎么用代码描述出来。高级的算法通用性都很强,全世界都公开的都是函数库,质量也差不多,无非就是那些树、遍历、图论。但写出来的代码里就有很多人情世故,没有这些东西可能就会遇到更多的坑。
