很多人称我是偏底层的程序员;
No!我只是比他们更注重基础与原理,更喜欢深研其所以然!
对于我写的每一行代码,无论是从前辈的代码库中继承的,还是从网上搜索复制的,我都要清楚的知道它们的原理和含义,知道为什么要这么写。如果哪天睡着前突发灵感想到了更好的实现方式,我一定会爬起来把那行代码替换掉。
我是仵士杰,我只阐述自己的技术观点,欢迎来喷!
以结果为导向的开发
我遇过很多只要量而不顾质的项目,定死了时间,必须在那个时间点之前完成。很多技术难点来不及深研,只能从网上搜索些解决方案,依葫芦画瓢草草了事。
也听说过很多项目经理只要结果,根据测试用例测试通过,能交差就万事大吉。
更多的是一些研发人员沉不下心去深研理论;从网上找到一段代码,运行正常,结果正确就算完成任务。
这些都是以结果为导向的。都是知其然而不知其所以然的。
浮躁的心
很多喜欢技术的初级工程师都有一个成为大牛的梦。入手就是精典书籍,少则三五百页,多则上千页。有者花两三个月看一遍就以为掌握了一个领域高精尖技术,孰不知书中很多基础知识都还仅仅停留在“了解”的层面。有者读了两三个周,整本书读的还不到十分之一就坚持不住了。
理想很丰满,现实很骨感啊;
这些都是学习不深入的表现,也是不知其所以然的。
不知其所以然是危险的
试想你从网上复制的代码,当时运行结果正确,但是你不知道为什么这样写就能得到这个正确的结果。部署上线后它不工作了,这个坑谁能发现,谁又能填上呢?可能仅仅定位这个bug所花费的时间都足以让我熟练掌握这个技术难题的解决之道了。
继承前辈的代码,而不知其所以然,前辈离职后如果留有文档和注释还好;万一没有文档和注释呢?是不是这段代码就成了不可维护的了。
我知道你还想到了其他的危害,就不赘述了。
路之艰难
对于从事IT的众神而言,知其然易,知其所以然难啊!
有多少IT从业者是以兴趣为导向的?没有兴趣的从业者有几个是愿意花费时间和精去挖掘技术的精髓的?如此至少筛去50%了。
在这个浮躁的社会环境下,各种技术培训班在宣扬着速成;各种书籍取名曰“从入门到精通”。以兴趣为导向者,又有多少能沉得下心深研原理和基础呢?如此再筛去30%。
在这个所有项目都要以投入产出比来计算收益率的大背景下,能有几项目不以结果为导向,又能有几个项目经理以结果为导向;有几个程序员、工程师不需要加班;如此,因抽不出时间而无法知其所以然的再筛去15%。
剩下的5%中有逻辑思维差的、有意志力不坚定的、还有……;最终能够知其然而知其所以然者不足2%。
如果你能做到知其然,且知其所以然,那么你将是最有可能实现理想、成为大牛、走向颠峰的那一个。
网友评论