上一篇给大家分享了StackOverflow 上面4个有争议的编程观点(引起程序员争吵的8个编程问题!),今天再分享4个。也想听听大家对于这些观点的看法。
设计模式对优秀设计的弊大于利
人们对设计模式的记忆是有限的,但优秀设计的变化是无限的。
很多程序员习惯找一些“通用”的设计模式,试图去匹配任意场景。这限制了优秀设计的产生,代码也有局限性。
我个人比较认同这个观点,设计模式大部分时候确实是个高效选择,但局限性也源于此。
经验不等于技术实力
很多初级程序员认为,只要工作年限达到了,经验就有了,自然就会成为资深程序员。在他们看来,技术大佬也是这么炼成的。
但实际情况是,国内很多互联网大厂在清除“老白兔”,那些只涨年龄不涨技能的程序员,最后都要被年轻又好学的新人接替。
我之前带过的一个团队里,也有这样的“落差”存在。同是工作3年,出身大厂,985学历,但俩人的技术实力差距就是很明显,其中一人的工作性能是另一人的10倍以上。
俩人做的工作差不多,功夫主要在平时。
Java是大学授课的最好的“第一编程语言”
作者认为,第一种编程语言应该强调学习控制流和变量,而不是对象和语法的需要。
那些对C/C++不了解的人,也无法深入理解到Java的精髓。
拿我自身来说,我在大学接触的第一门编程语言就是C语言,从一些基础的语法到慢慢上手写出一整段代码,这个过程是很有成就感的。
大家对于哪门语言是核心语言一直争论不休,但这个本就没有定论,适合你的、你感兴趣的,就是最好的。
代码“少胜于多”
这几年看过不少互联网公司的奇葩操作,比如按照代码量给程序员评绩效。
这样做的直接后果就是:程序员不再致力于寻找简洁高效的实现方式,而是想着怎么把一个简单的东西复杂化,什么实现方式会增加代码量,就按什么方式来。
这样下去,技术团队会“垮掉”。代码越多,理解、修改、测试、维护等成本也随之增加,时间久了,没人敢动这坨又垃圾又长的代码。。。
要想体现工作量和工作价值,还有其他更多更好的方式。靠堆积代码,大可不必!
原文:
https://programmers.blogoverflow.com/2012/08/20-controversial-programming-opinions/