随着网络科技的创新,
IT行业迎来了长足的发展,
程序员群体也在不断扩大当中。
尽管程序员能够解决开发
或测试或运维等方向的大部分问题,
但是程序员毕竟不是万能的!
今天博酱就来总结一下
程序员经常犯的几个错误是什么?
1
在设计模式上常犯的错误
不排除有的程序员认为,只要学会了设计模式、设计原则,就等于学会了设计。但是实际上设计模式和设计原则,只是前人根据设计实践做的总结和提炼,设计,归根到底是要解决问题的。而程序员需要做的就是把具体问题的解决办法,经过一定的抽象,变成程序员的语言。
有时候我们反而被设计模式或设计原则粗暴地掌握束缚了手脚。跳脱出刻板的设计模式,换种角度思考,说不定会有好的结果哦!
2
多种计算机语言学习观点的错误
有程序员觉得学习一种语言就可以了,学习那么多语言没有必要。事实上,多掌握一门合适的计算机语言不仅仅是多掌握一种谋生的工具,如果一种新的语言能够很大程度上改变你对编程、对设计的看法,那么兴许它就值得你去学习。
譬如C语言,可以培养严谨的思维;譬如动态语言,它可以帮助程序员更好地做面向对象的coding;譬如函数式语言,它在工业生产、运算领域有着不可替代的作用。
当然话说回来,所谓术业有专攻,对于某一门计算机语言(包括该语言所需的运行时环境、其中的编译或解释的原理)深入的掌握,是很有必要的。
另外,我们时常看到诸多计算机语言孰优孰劣的争论,计算机语言归根到底是一种工具,工具是随着时代发展升级和变更的,单纯的优劣争论没有太大意义。
3
算法问题上的争议
算法有多重要,这一件事的争议一直都很大。
软件归根到底是用来解决问题的,提到算法就不能不提到数学(这也是为什么很多软件领域的大师都具备相当的数学背景),对于解决问题,这里可以简单归纳成两步:
· (1)把实际的问题抽象成简化的数学模型
· (2)用算法去解决这个数学问题
算法,在这里应该是一个广义的概念(这里的算法并不仅仅指大学里学习的狭义的具体算法),算法是解决上述数学问题的办法。如果工作中你并未意识到它的存在,那只是说明,你抽象出的数学模型比较简单,解决这个模型的办法也很简单,或者有现成的方式可以模仿,或者有现成的框架帮你完成了,以至于你不去关注它、在乎它。
如果你做的事情是充满创新意义的,是别人从没有做过的,这时候算法兴许就成了决定你成败的因素。
在当前中国的环境下,视野广阔和经历丰富的人很好找,但是企业要招到具备上述两点能力来解决问题的人,其实是非常困难的。
客观印象上,
大家都会认为程序员每天的工作
就是码代码、码代码and码代码
但是在实际工作的过程中,
我们一定不能被固定思维框住
跳脱出来,
做最灵活的程序员!