那些争议最大的编程观点(2)

发表于:2012-09-10来源:Csdn作者:刘江点击数: 标签:开发
CSDN编者注:这条和第1条好像有点对着来嘛。 开发人员就应该能够写代码。 去年做了很多面试,我主要会测人们的思路,如何在白板上实现比较简单的算

  CSDN编者注:这条和第1条好像有点对着来嘛。

  开发人员就应该能够写代码。

  去年做了很多面试,我主要会测人们的思路,如何在白板上实现比较简单的算法。我往往从这样的问题开始:

  已知Pi可以用函数4 * (1 – 1/3 + 1/5 – 1/7 + …) 计算,项越多越精确,请写一个函数,计算小数点后5位的Pi。

  这是一个10行C#就能搞定的问题。但许多面试者甚至毫无思路。所以我只好接着问这样的问题:

  已知圆的面积是Pi乘以半径的平方,写一个函数计算。

  居然有超过半数的人无法用任何语言完成这个函数!唉,开发人员应该能够写代码,现在连这个都成有争议的观点了……

  设计模式弊大于利。

  软件设计,尤其是好的软件设计千变万化,没法有意义地用模式去总结,尤其是那些大家记得住的几个模式,而且这些模式也太抽象了,其实没几个人真正记得住太多。所以设计模式其实没啥用。而另一方面呢,又有太多的人为设计模式的概念迷住,想方设法到处用——结果代码中往往除了一些毫无意义的单例和抽象工厂之外,几乎找不到什么设计。

  代码少少益善。

  如果用户看不到你的工作,才是做对了。荣耀在别处。

  其他比较热门的答案还有:

  21. 性能真的很重要。

  22. 企业应用很滑稽。需要n年经验是胡扯。计算机科学学位课程纯忽悠。(链接)

  23. 单元测试无助于编写好代码,软件工程大多数所谓的最佳实践都是为了防范烂程序员搞太多破坏。(链接)

  24. 每个程序员都应该熟悉现代计算机的体系结构。

  25. 编写小方法。

  26. PHP真烂!

  27. C++是有史以来最差的语言之一。(链接)

  28. 大多数职业程序员都很烂。

  29. 要想成为程序员,你得先学会打字。

  30. 编程之外的各种流程规矩越多,代码质量越差。(链接)

  资深的游戏程序员James Hague(名博Prog21是也)也看到此文,觉得这些观点都没啥太大争议性。他专门写了一篇博客,又提出了他自认为更具争议性的观点,其中不少观点指向他之前发表的其他文章:

  31. 计算机科学专业应该只作为辅修学位。

  32. 新程序员还没有弄懂分解问题和将解决方法变成代码之前,就给他们介绍面向对象是大错特错。

  33. 复杂的编译器优化几乎都没什么价值,即使能得到更快的代码。它们会大大降低编译速度而且很可能产生难以处理的bug,使性能问题的处理更加困难。

  34. 不能允许没有十年编程经验的人编写供他人使用的库。忽略此条,抱憾终身。

  35. 代码丑陋与否无关紧要。有没有格式与代码是否工作、可靠没什么关系,可以让自动化工具来整理格式。

  36. 纯函数式编程没啥用。但在命令式代码里杂用一些效果不错。

  37. 软件工程的既定思维反而会阻碍你做出伟大作品。

  对这些编程观点你怎么看?你有什么值得争议的惊人之语吗,欢迎晒出来大家共赏析。

原文转自:http://www.ltesting.net