给公司新员工培训,和网上的新手做交流,我最先强调的都是基础。
基础有什么用?
1、节省沟通成本
有天,java群里来了个新人,上来就提了一个问题:
“我代码跑不起来,怎么办?”
这一看就是还没入门,没办法提供具体的信息。
于是有个有耐心的老鸟出来了,开始了一连串提问:异常栈看一下?有编译期异常吗?贴出你的main函数看看?
新人收到了问题并且抛出了你都在说什么异常。
“你还是截图吧。”老鸟说。
这里涉及到了异常栈,编译期,main函数等等再基础不过的知识,有那么部分毫不客气的新人就说了,为什么你不讲得通俗易懂点儿呢?
通俗易懂,是需要成本的。
异常即是程序不期望的异常情况,它处理不了交给程序员自己来处理了。栈是个再基础不过的数据结构,出现它就说明栈顶的元素,是最后入栈的。那么,看到你出错后控制台抛出的那堆文字没有?贴出来,距离XXXException最近的通常就是最关键的信息。
你看,就算精简为“控制台抛出的那堆文字”,比较起来,是不是“异常栈”更加节约双方的时间,毕竟以当前IT业界的薪资水准,老鸟可能已经浪费了公司好几十块。
更何况,可能有人是连“控制台”都无法理解的,这就涉及到了作用2。
2、方便他人界定你的水准
我见过一份简历,quartz、POI、easyUI、jquery等等,写了一堆。这人自己可能觉着,这些名词高端,厉害,可是呢,看看这份技能表:
就暴露出了他的问题,此人并不懂他所说的这些名词是什么。
至少,一个有基础的程序员就不会写上熟悉xml、json、dom4j技术,也不会把“在线支付”和servlet\jsp放在同一栏下面。他无需长篇累述自己的技能树多么丰满,合适的内容,合理的排版,本身就代表了他的水准。 |