东方瑞通IT培训与服务中心拥有十多年 IT培训经验,专注中国高端IT培训与服务,是中国高端IT培训第一品牌。东方瑞通IT培训与服务中心为企业及广大学员提供全面、细致、专业的线上、线下服务,致力于为客户提升良好的职业竞争力。
不管程序员性格是外向的还是内向的,是多话的还是沉默寡言的,他们或多或少都有如下的怪癖,区别只在于怪癖的严重程度。 1. 别人写的代码总是比自己差,我情愿重写也不要用别人 这个现象不用多阐述,如果你是程序员,应该深有感悟。如果你还觉得感悟不深刻,你就看看你公司代码里面是不是有类似于多个版本的诸如thread pool啊,object pool啊。 【总结】:如果有现成的允许使用的经过测试的代码或程序库,并且有人维护或维护成本可以接受,程序员应该尽量使用现有代码和库来节省时间和开发测试成本。 2. 喜欢把代码写的越简短越好,语法越偏僻越好,别人越难看懂越好 最高层次就是:一行代码,n个功能,别人都不懂,只有作者他自己懂。随后,这个便成了炫耀的资本,到处说:“来,你过来看,知道这行代码是干什么的吗?恩,就知道你不知道,哈哈。”我每次都是这样诅咒这些程序员的:“下次希望你去维护别人写的这种代码”。 【总结】:晦涩的代码,维护成本会非常高。有时候,宁可牺牲一些性能,也要写易懂的代码。所以,好的代码不但要实现功能,更要好维护。好维护的定义标准就是:A写的代码让B能很轻易的理解和修改。 3. 以为越接近机器码的语言,就是高级的有技术含量的编程语言 在他们眼里,直接写01010110才是最高技术,实在记不住,才用汇编。汇编还记不住,那才就用c/cpp。java/C#一点技术含量也没有。 【总结】语言本身没有好坏之分,只是工具而已。好的程序员就是需要能在各种不同的情况下选择适合的语言。 4. 对程序性能有时候很神经质 需要写一个桌面应用程序,到底应该用系统lock还是自己写一个基于计数器的lock。基于计数器的lock确实比较高效,因为不用使程序陷入内核态。但是,对于一个本身就是慢速的用户桌面应用,有必要自己实现一个高效lock吗?自己实现,增加了开发测试成本,而且还增加了很多bug几率。如果把这些时间花在改进用户UI上,那不是远比为了快那么几十毫秒来的更有价值吗? 【总结】:我们的时间和精力是有限的,所以有些事情,即使是对的,但是我们也不去做。因为如果我们把有限的时间和精力放在其他方面,我们可以收获更多。
|