在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/56411808/archive/2010/07/23/1784043.html

十条不错的编程观点(转)相关推荐

  1. 十条不错的编程观点(转载)

    转载本文纯粹是在休息时间看见了本文的原地址文章,感觉不错,故转载以备份之用!下面为全文: Stack Overflow上有这样的一个贴子<What's your most controversi ...

  2. StackOverFlow优选的十条编程观点

    haoel 读完需要 5 分钟 速读仅需 2 分钟 译文来源 CSDN 作者:haoel 在 Stack Overflow 上有这样的一个贴子<What's your most controve ...

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

    另眼相看"那些争议最大的编程观点" 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致" ...

  4. 那些争议最大的编程观点

    http://www.csdn.net/article/2012-08-30/2809418-controversial-programming-opinions 知名问答网站StackOverflo ...

  5. 那些争议最大的编程观点(转)

    知名问答网站StackOverflow之所以成功,合理的规则与严格执行是重要的原因,所以删帖是经常的.不过有时候执行得过严了,被删的问答不时会有惊艳之作.这不,他们的博客8月29日的文章"2 ...

  6. 【程序人生】那些争议最大的编程观点

    那些争议最大的编程观点 编程相对来说是一门专业性非常强的技术工种,全世界也有大量的编程人员,每天都有人讨论什么编程语言最好,优秀程序员的标准等.接下来让我们来看看那些争议最大的编程观点. 1.   业 ...

  7. 盘点那些争议最大的编程观点,你是什么看法呢?

    编程相对来说是一门专业性非常强的技术工种,全世界也有大量的编程人员,每天都有人讨论什么编程语言最好,优秀程序员的标准等.接下来让我们来看看那些争议最大的编程观点. 1.   业余时间不会为了好玩而编程 ...

  8. 推荐几个不错的编程学习网站

    以下是几个不错的编程学习网站: 菜鸟教程(runoob.com):提供了大量的编程入门教程,包括前端开发.后端开发.移动开发等. 慕课网(imooc.com):提供了丰富的在线课程,主要涵盖了Web前 ...

  9. 非常不错的编程技术教程

    下面是一些非常不错的编程教程,当然,全是英文版的.不过因为是新手教程,所以非常容易阅读,可以在学习技术的同时加强一下自己的英语阅读能力. 如果你是一个新手,建议你把本页设为你的收藏夹. C Intro ...

最新文章

  1. 一个“复制/删除”方式的滚动
  2. httpclient4 post 请求乱码
  3. 兆比特每秒和兆字节每秒_号称100兆、200兆的宽带,为什么实际下载速度只有几MB?...
  4. MapReduce多表连接
  5. python 数据库 实战_干货!python与MySQL数据库的交互实战
  6. 在php中type有几种属性,HTML表单之input元素的23种type类型
  7. 基本算法研究1-冒泡排序算法测试
  8. django3安装rest_framework,并测试
  9. R语言页游渠道分析(转)
  10. 前端页面field_网页前端(5)表单及表格
  11. 计算机程序员求职信英语作文,程序员英文求职信范文
  12. e系列是服务器CPU吗,教你识别英特尔E系列服务器CPU
  13. 项目要求完成杀毒软件,可是为什么网上关于杀毒软件的资料那么少啊
  14. TYVJ p1035 棋盘覆盖
  15. Vue element-ui之神坑
  16. Vue3 +ts 打包后访问是空白页面
  17. 读书的理由——好书推荐
  18. 一个请假单流程的实现(struts2.1.8+spring2.5+hibernate3集成jbpm4.3
  19. 微信小程序checkbox被挤压变形解决办法
  20. 知识分享:游戏音乐分类

热门文章

  1. MFC小笔记:上下控件
  2. Linux Intel网卡IGB驱动修改mac地址
  3. 常遇问题及一些可能的解决方案
  4. 【clickhouse】ClickHouse之DBA运维宝典
  5. 【clickhouse】Port 9000 is for clickhouse-client program
  6. 95-36-200-ChannelHandler-系统Channel-LoggingHandler
  7. 【Elasticsearch】将数据预加载到文件系统缓存中
  8. 【ElasticSearch】ElasticSearch 7.8 IK 同义词 配置
  9. 【Kafka】Elasticsearch 与 Kafka 整合剖析
  10. 【分布式】分布式架构-ESB SOA