十条不错的编程观点!

在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。但大多数的程序并不知道什么是好的注释,那些注释其实和code是重复的,毫无意义。

4)XML is highly overrated

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

5)Not all programmers are created equal

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

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开发,其实,这种开发就是先写unit test case,这样的开发方式的主要目的是,为了防止你不会因为一个改动而引入Bug,但这并不会让你能写出更好的代码。这只会让你写出不会出错的代码。同第一点,这样的方法,只不过是防止糟糕的程序员,而并不是让程序员或代码质量更有长进。反而,通过Unit Test会为程序员的为自己代码做辩解的一种托辞。

怎么样?你们认同吗?对于那些看得懵懵懂懂的同学我只能说:对于编程的话,英语还是有点重要的呢!

原文地址:https://www.cnblogs.com/L928/p/10597432.html

时间: 2024-10-05 14:03:48

十条不错的编程观点!的相关文章

十条不错的编程观点【转载】

在Stack Overflow上有这样的一个贴子<What’s your most controversial programming opinion?>,翻译成中文就是“你认为最有争议的编程观点是什么?”,不过,在400多个主回贴,以及千把个子回贴中,好像并不是很有争议,而是令人相当的茅塞顿开,下面罗列一些,并通过我自己的经历和理解发挥了一些,希望对你有帮助. 1) The only “best practice” you should be using all the time is “U

转:十条不错的编程观点。(出处:酷 壳 – CoolShell.cn)

在Stack Overflow上有这样的一个贴子<What’s your most controversial programming opinion?>,翻译成中文就是“你认为最有争议的编程观点是什么?”,不过,在400多个主回贴,以及千把个子回贴中,好像并不是很有争议,而是令人相当的茅塞顿开,下面罗列一些,并通过我自己的经历和理解发挥了一些,希望对你有帮助. 1) The only “best practice” you should be using all the time is “U

另眼相看“那些争议最大的编程观点”

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 有感于中国小孩背9x9乘法表,而印度小孩背19x19乘法表! 19x19 此类20以内乘法也很简单: 13 x 16 = 16 x 13 = 16

那些争议最大的编程观点

编程相对来说是一门专业性非常强的技术工种,全世界也有大量的编程人员,每天都有人讨论什么编程语言最好,优秀程序员的标准等.接下来让我们来看看那些争议最大的编程观点. 1.   业余时间不会为了好玩而编程的程序员,永远比不上那些以编程为乐的同学. 我认为即使是最聪明.最有才华的人,如果只是将编程作为工作,也永远成不了真正优秀的程序员.以编程为乐的人会在业余时也搞些小项目,或者弄弄各种不同的编程语言和编程思想. 2.   单元测试无助于编写优秀代码. 编写单元测试的唯一理由仅仅是确保已经能工作的代码不

从StackOverflow来的值得回味的编程观点

从StackOverflow来的值得回味的编程观点 很多有意思的话语 在 2012年06月08日 那天写的     已经有 4148 次阅读了 感谢 参考或原文 www.csdn.net 服务器君一共花费了52.752 ms进行了2次数据库查询,努力地为您提供了这个页面. 试试阅读模式?希望听取您的建议 知名问答网站StackOverflow之所以成功,合理的规则与严格执行是重要的原因,所以删帖是经常的.不过有时候执行得过严了,被删的问答不时会有惊艳之作.这不,他们的博客8月29日的文章“20个

争议的编程观点(网摘)

1.   业余时间不会为了好玩而编程的程序员,永远比不上那些以编程为乐的同学. 我认为即使是最聪明.最有才华的人,如果只是将编程作为工作,也永远成不了真正优秀的程序员.以编程为乐的人会在业余时也搞些小项目,或者弄弄各种不同的编程语言和编程思想. 2.   单元测试无助于编写优秀代码. 编写单元测试的唯一理由仅仅是确保已经能工作的代码不会出问题.先写测试或者按测试来写代码是无比荒谬的.如果在代码之前写测试,你都不知道边 界情况是什么.虽然能让代码通过测试,但是在没有预见到的情况时还是会出问题.而且

修改过的Lucida Sans typewriter 字体,另推荐两个不错的编程字体

最近两天在找一个适合编程用的等宽字体,发现几个不错的:"Bitstream Vera Sans Mono"和"Monaco",还有就是现在正在使用的"Lucida Sans typewriter”. Bitstream Vera Sans Mono: 对于编程字体来说,基本上没什么缺点,“0Oo”能轻易分辨等等.我也忘了我当时为什么要把他换掉了…… Monaco: 苹果的字体,挺好看的.最主要的缺点是字体修长而且行间矩太大,上图是在gvim中把行间矩设为-

一些不错的编程学习网站

国外的: http://stackoverflow.com 有干货的地方.代码遇到相关问题经常被导到这个网站去,回答质量很高,排版简洁清晰.我现在遇到问题经常会搜索词后面加一个词"stackoverflow",敲回车的同时常常要骂一下这个创始人起个名字咋那么长..... http://github.com 最大的开源中心,项目五花八门,从华贵绚丽的界面到低调实用的小类库,应有尽有.需要睁大眼睛慢慢挑,适合英语好的.Ruby和Javascript的项目尤其多. http://codeca

几种不错的编程字体

咱们天天面对的就是编辑器,这个字体很重要,要等宽,很易读,要能区分开il1I,oO0这样不同的字. 感觉Courier, Courier New, Terminal, FixedSys,都有不同的毛病,宋体好一点,但O0也不好分开,还有人用Lucida Concle...Verdana和Tahoma很好看,但是不等宽... 网站开发编程时,代码字体很重要.如果选择得当,加上IDE顺手.代码颜色舒服,简直是完美的开发环境:一旦字体选的不好,就会看的人头昏脑胀.眼睛发酸——对开发者和阅读者都是一种折