`
5__1000
  • 浏览: 59518 次
  • 性别: Icon_minigender_1
  • 来自: 地球
社区版块
存档分类
最新评论
阅读更多
在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会为程序员的为自己代码做辩解的一种托辞
分享到:
评论

相关推荐

    C++50个编程观点

    C++50个编程观点

    十条不错的编程观点 - CocoaChina 苹果开发中文站 - 最热的iPhone开发社区 最热的苹果开发社区 最热的iPad开发社区.pdf

    根据给定的信息,本文将重点解析“十条不错的编程观点”中的关键知识点,这些观点来源于CocoaChina苹果开发中文站,该站点是针对苹果产品的开发人员的专业社区。以下是对这十条编程观点的详细解读: ### 1. 使用你...

    编程高手谈编程

    张研则提出了几个关键的编程观点。他认为,算法和数据结构是编程的基础,而语言只是表达它们的工具。因此,掌握基础比单纯学习语言更为重要。他还建议精通一门适合自己的语言,并深入理解所使用的操作系统和硬件系统...

    UNIX编程艺术经典观点

    《UNIX编程艺术》是计算机科学领域的一本经典之作,它深入浅出地探讨了UNIX操作系统的设计哲学和编程原则。这本书不仅对于系统程序员,对于任何希望理解高效、优雅代码设计的人都有着重要的参考价值。以下是该书涉及...

    c语言经典书籍

    5. **《C语言程序设计:现代方法》**:由Stephen Prata撰写,这本书以现代编程观点介绍了C语言,涵盖了基本概念、控制结构、函数、数组、结构体等,并引入了C99标准的新特性。它强调了良好的编程习惯和清晰的代码...

    Advice on improving your programming skills

    这不仅是学习他人经验的好机会,还可以通过分享和讨论你的编程观点来检验你的理解程度。 6. 研究可用的教育资源:充分利用内部和网络上的技术教育资源,例如Google提供的众多的Code Labs。 这些建议提供了学习和...

    用C++进行函数式编程

    Carmack的观点认为,虽然完全转向如Lisp或Haskell这样的函数式语言可能是不切实际的,但在现有的C++环境中采用函数式编程的思想仍然是非常有价值的。 #### 函数式编程的价值 函数式编程的核心理念在于减少代码的副...

    函数式编程另类指南

    的确,关于函数式编程的文章和论文难于理解,但他们本来不必这么晦涩。这一知识隔阂的形成完全是历史原因。函数式编程的概念本身并不困难。...可能你的同事很快就会开始取笑你对函数式编程发表的观点了。

    基于Excel和VBA的高级金融建模

    接着,介绍了VBA的面向对象编程观点,以及如何编写VBA宏,包括编写环境、输入代码、录制按键以及编辑代码。此外,章节中还涉及了编程的基本要素,如变量、数据类型、数组变量、控制结构和循环。最后,讨论了如何实现...

    关于学习C++和编程的50个观点.doc

    关于学习C++和编程,以下是一些关键的观点和建议,旨在帮助你构建坚实的基础和提升编程能力: 1. 将C++视为独立的语言,而非C的扩展。理解C++的独特特性和面向对象特性至关重要。 2. 选择好的学习资源,如...

    BI观点 Java 编程 软件 开发

    根据给定的信息,我们可以从标题、描述以及部分内容中提炼出几个关键的知识点,主要围绕“数据仓库架构”、“BI(商业智能)”以及“Java编程”等主题展开。以下是详细的知识点总结: ### 1. 数据仓库架构的重要性 ...

    关于学习C++和编程的50个观点

    关于学习C++和编程的50个观点

    编程和年龄的关系

    在探讨编程与年龄之间的关系时,我们必须提到关于专业技能与年龄相关性的争议。长久以来,这一问题一直困扰着程序员群体,特别是中国的IT从业者。大家倾向于探讨,究竟是年轻程序员更易于吸收和掌握新技术,还是年长...

    Scratch创意编程培训

    这一观点得到了MIT媒体实验室负责人Mitch Resnick教授的支持。 #### 总结 通过对上述内容的梳理与分析,我们可以看出Scratch创意编程培训不仅是一种技能的学习过程,更是在培养学生的创造力、逻辑思维能力和解决...

    高质量C++/C 编程指南,C语言编程——好习惯

    面试微软中国研究院的经历进一步强化了这一观点。面试官对于一个简单的`strcpy`函数的严格审查,展示了即使是基础功能的实现,也需要考虑编程风格、错误处理和性能优化等多个方面。这表明高质量的编程不仅关乎正确性...

    编程英语单词

    最后,参加国际编程社区或论坛,如Reddit的r/learnprogramming或Stack Exchange网络,使用英语沟通能让你接触到更多不同的观点和解决方案。 总的来说,编程英语单词是程序员必备的知识,它们构成了编程语言的基础,...

    从一份用户调查看PLC编程语言和编程平台的现状和趋势.pdf

    同时,有观点认为,应开放C/Java等编程语言在PLC编程平台中的使用,并采用C语言类型的编译工具来提高移植性和编程的灵活性。 综合以上调查结果,可以看到PLC编程语言和平台正朝着更高的结构化程度、面向对象的编程...

Global site tag (gtag.js) - Google Analytics