10 条“有争议”的编程观点 - 开源中国社区
10 条“有争议”的编程观点
oschina 2012年05月14日

10 条“有争议”的编程观点

oschina oschina 发布于2012年05月14日 收藏 54 评论 10

有免费的MySQL,为什么还要买? >>>  

Stack Overflow上有这样的一个贴子《What’s your most controversial programming opinion?》,翻译成中文就是“你认为最有争议的编程观点是什么?”,不过,在400多个主回贴,以及上千个所有回贴中,好像并不是很有争议,而是令人相当的茅塞顿开,下面罗列一些,希望对你有帮助。

1) The only “best practice” you should be using all the time is “Use Your Brain”.

唯一的“Best Practice”并不是使用各种各样被前人总结过的各种设计方法、模式、框架,那些著名的方法、模式、框架只代表赞同它们的人多,并不代表它们适合你, 你应该更多地去使用你的大脑,独立地思考那些方法、模式、框架出现的原因和其背后的想法和思想,那才是“Best Practice”。事实上来说,那些所谓的“Best Practice”只不过是限制那些糟糕的程序员们的破坏力。

2)Programmers who don’t code in their spare time for fun will never become as good as those that do.

如果你对编程没有感到一种快乐,没有在你空闲的时候去以一种的娱乐方式去编程,那么你只不过是在应付你的工作,这样下来,就算是你是一个非常聪 明,非常有才华的人,你也不会成为一个优秀的编程员,要么只会平平凡凡,要么只会整天扎在技术中成为书呆子。当然,这个观点是有争议,热情和能力的差距也 是很大的。不过我们可以从中汲取其正面的观点。

3)Most comments in code are in fact a pernicious form of code duplication.

注释应该是注释Why,而不是How和What,参看《惹恼程序员的十件事》,代码告诉你How,而注释应该告诉你Why。但大多数的程序并不知道什么是好的注释,那些注释其实和代码是重复的,毫无意义。

4)XML is highly overrated

XML可能被高估了。XML对于Web上的应用是不错的,但是我们把其用到了各种地方,好像没有XML,我们都不会编程了。

5)Not all programmers are created equal

这是那些junior经理爱犯的错,他们总是认为,DeveloperA == DeveloperB,只要他们的title一样,他们以为他们的能力、工作速度、解决问题的方法,掌握的技能等等都是一样的。更扯的是,在某些时候,就 算是最差的程序员,他们也会认为其比别人强十倍。

6)”Googling it” is okay!

Google只会给你知识,并不会教给你技能。那里只有“鱼”,没有“渔”,过度使用Google,只会让你越来越离不开它,你越来越不会自己去 思考、探索、钻研。如果KFC快餐是垃圾食品对我们的身体没有好处,那么使用Google也一种快餐文化对我们的智力发展没有好处。

7)If you only know one language, no matter how well you know it, you’re not a great programmer.

如果你只懂一种语言,准确的说,如果你只懂一类语类,如:Java和C#,PHP和Perl,那么,你将会被局限起来,只有了解了各种各样的语 言,了解了不同语言的不同方法 ,你才会有比较,只有了比较,你才会明白各种语言的长处和短处,才会让你有更为成熟的观点,而且不整天和别的程序在网上斗嘴争论是Windows好还是 Unix好,是C好还是C++好,有这点工夫能干好多事了。世界因为不同而精彩,只知道事物的一面是有害的。

8)Your job is to put yourself out of work.

你的工作不应该保守,那种教会徒弟,饿死师父的想法,不但是相当短浅的,而且还是相当脑残的。因为,在计算机世界里,你掌握的老技术越多,你就越 没用,因为技术更新的太快。你对工作越保守,这个工作就越来越离不开你,你就越不越不能抽身去学新的东西,你也就越来越OUT了。记住:If you can’t be replaced then you can’t be promoted!

9)Design patterns are hurting good design more than they’re helping it.

很多程序员把设计模式奉为天神,他们过度的追求设计模式以至都都忘了需求是什么,结果整个系统设计被设计模式搞得乱七八糟,我们叫这种编程为“设计模式驱动编程”,正如第一点所说,如果你不懂得用自己的大脑思考的话,知其然,不知所以然的话,那么你不但得不到其好处,反而受其所累。

10)Unit Testing won’t help you write good code

准确地说,我们可以认为这是Test-Driven开发,其实,这种开发就是先写单元测试用例,这样的开发方式的主要目的是,为了防止你不会因为 一个改动而引入Bug,但这并不会让你能写出更好的代码。这只会让你写出不会出错的代码。同第一点,这样的方法,只不过是防止糟糕的程序员,而并不是让程 序员或代码质量更有长进。反而,Unit Test会成为程序员为自己代码做辩解的一种托辞。

文章来源:酷壳

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:10 条“有争议”的编程观点
分享
评论(10)
最新评论
0

引用来自“OrionBox”的评论

很多人。一口气很用几十种语言输出hello world。但是这有什么用呢???又不是业余爱好者。。

同意4楼的观点
0

引用来自“RickyFeng”的评论

引用来自“hokim”的评论

基本都赞同

K哥 "你的工作不应该保守,那种教会徒弟,饿死师父的想法,不但是相当短浅的,而且还是相当脑残的。" 这句你点看

要看缘分
0
恩~
0
学习不重要,重要是在平时中就用到。
0

引用来自“hokim”的评论

基本都赞同

K哥 "你的工作不应该保守,那种教会徒弟,饿死师父的想法,不但是相当短浅的,而且还是相当脑残的。" 这句你点看
0
基本都赞同
0
很多人。一口气很用几十种语言输出hello world。但是这有什么用呢???又不是业余爱好者。。
0
这十条说的都不错!
0
并不脑残, 有选择的保留是基本技能
0
你的工作不应该保守,那种教会徒弟,饿死师父的想法,不但是相当短浅的,而且还是相当脑残的。---开源思想
顶部