`
谷超
  • 浏览: 166224 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

优秀的程序 vs 糟糕的程序

 
阅读更多

开发者Rahul Singh近日在其个人博客中列出了他眼中的优秀的程序和糟糕的程序:

引用

 

优秀的程序可以使复杂的东西看起来很简单;糟糕的程序让原本简单的东西变得复杂。

 

优秀的程序不需要加以说明;糟糕的程序需要大量注释。

 

优秀的程序编写时需要更多时间,但未来花费的时间却更少;糟糕的程序往往花费较少的时间,但会在未来浪费掉更多时间。

 

优秀的程序需要考虑当前和未来的需求;糟糕的程序只侧重于现在,在未来可能无法正常工作。

 

优秀的程序非常易于维护;糟糕的程序难以维护。

 

优秀的程序有更长的生命周期,甚至应用范围超出预期;糟糕的程序在其工作范围之外几乎无法使用。

 

优秀的程序如同良好的习惯,其影响将持续很长一段时间,几乎可以永久地解决问题;糟糕的程序如同止痛药,其效果只有很短的时间,解决问题大多是暂时的。

 

优秀的程序是整洁的、遵守规律的;糟糕的程序是混乱的。

 

优秀的程序可以令人学到很多编程方法和经验;糟糕的程序只能令人越学越糟。

 

优秀的程序中,该重用的地方重用,该发明的地方发明;糟糕的程序会重新发明轮子,并在适合发明的地方重用。

 

优秀的程序依靠程序员的直觉和知识,并经过了多年良好程序习惯的熏陶;糟糕的程序往往盲目依赖他人的知识和经验,而没有自己的理解。

 

优秀的程序可以很容易地从一个程序员转移给另一个程序员;糟糕的程序只能被编写者理解和实施。

 

优秀的程序员不会刻意去记忆一段代码,他依赖于他的逻辑思维能力和理解,并能在未来轻松改善代码;糟糕的程序员往往会记住很多自己不理解的代码。

 

优秀的程序都有相同的特征,如简单、可读性强、效率高;糟糕的程序各有糟糕之处。

 

优秀的程序比程序员存在的时间要更久;糟糕的程序存在的时间很短。






 

分享到:
评论

相关推荐

    秦小波-编写高质量代码:改善Java程序的151个建议(带索引书签目录高清扫描版).pdf

    对于每一个问题,不仅以建议的方式从正反两面给出了被实践证明为十分优秀的解决方案和非常糟糕的解决方案,而且还分析了问题产生的根源,犹如醍醐灌顶,让人豁然开朗。《编写高质量代码:改善java程序的151个建议》...

    nop多语言电子商城系统

    国外的一个高质量的开源b2c网站系统,基于EntityFramework4.0和MVC3.0,使用Razor模板引擎,有很强的插件机制,包括支付配送功能都是通过插件来实现的,基于...综合能力远远高于国内的一些程序架构糟糕的.net商城程序

    马伟-编写高质量代码 改善C程序代码的125个建议(带索引书签目录高清扫描版).pdf

    本书从C语言语法和C11标准2个方面深入探讨了编写高质量C...每一个建议对应C程序员可能会遇到的一类问题, 不仅以建议的方式从正反两面给出了实践证明为十分优秀的解决方案和非常糟糕的解决方案, 还分析了问题的根源。

    NopCommerce

    包括在后台都能同时编辑产品的中英文属性,非常适合做外贸,优秀超前的程序架构,性能也非常强大,自定义的产品名称和分类又有很好的seo优化。综合能力远远高于国内的一些程序架构糟糕的.net商城程序,是二次开发和...

    NopCommerce用户后台操作手册(一)

    nopcommerce是国外的一个高质量的开源b2c网站...综合能力远远高于国内的一些程序架构糟糕的.net商城程序,是二次开发和大型b2c架构的首选。 此资料首发:http://www.ddpanda.com 达达熊 联系此人:js.zhoukang@gmail.com

    燕骏团队单片机C语言编程规范v3.0

    首先能认识到名称的重要性需要有一个过程,这也许跟谭式C程序教材被大学广泛使用有关:满书的a、b、c、x、y、z变量名是很难在关键的初学阶段给人传达优秀编程思想的;其次如何恰当的为对象命名也很有挑战性,要准确...

    重构糟糕设计的五步技能链

    1. **优秀**:设计合理,团队成员有成就感,项目按时完成,Bug少。 2. **良好**:设计尚可,项目能按时完成,但效率较低,Bug数量可控。 3. **正常**:设计一般,经常需要加班,延期较为常见,Bug较多。 4. **较差**...

    木琴:Swift应用程序创建,旨在更多地播放声音

    优秀的程序员最重要的技能是能够解决自己的问题。 我们将通过探索StackOverflow,Apple文档并学习如何有效地寻找解决方案来做到这一点。 通过学习使用这些工具,您将能够开始向应用程序添加自定义功能,并使其能够...

    好的编程习惯

    - **用户体验受损**:即使程序表面上仍在运行,但功能缺失或错误的表现会给用户带来糟糕的体验。 #### 三、如何正确处理异常 正确的异常处理策略不仅可以帮助开发者及时发现问题,还能提高程序的稳定性。以下是...

    编写高质量代码之Java_nodrm.azw3

    对于每一个问题,不仅以建议的方式从正反两面给出了被实践证明为十分优秀的解决方案和非常糟糕的解决方案,而且还分析了问题产生的根源,犹如醍醐灌顶,让人豁然开朗。 《编写高质量代码:改善java程序的151个建议》...

    The C++ Programming Language(ch 14)

    3. **返回合法值,使程序处于非法状态**:这实际上是一种非常糟糕的做法,因为它可能导致难以追踪的错误。 4. **调用预先定义的错误处理函数**:这种方式比较灵活,但也可能导致调用链中的错误传播不易管理。 C++...

    高薪程序员必备刷题软件-Programming-Best-Practices:最佳编程实践

    优秀的程序员担心数据结构及其关系 – 莱纳斯·托瓦兹 永远不要构建大型应用程序 构建大型应用程序的秘诀是永远不要构建大型应用程序。 将您的应用程序分解成小块。 然后,将这些可测试的小块组装到您的大应用程序中...

    GRE for C (Joking Edition)

    - Excellent(优秀):>500分 - Exceed Expect(超出预期):>400分 - Accepted(可接受):>300分 - Poor(差):>200分 - Terrible(糟糕):分 ### 题目解析 #### 题目一:自动售货机软件设计 (160分) 本题...

    CS371M:有史以来最糟糕的应用

    【标题】"CS371M:有史以来最糟糕的应用"揭示了一个关于软件开发失败的案例,可能是针对一个特定的编程项目或应用程序。在学习和分析这个案例时,我们可以从中汲取教训,避免在自己的Java编程实践中重蹈覆辙。 ...

    测试功能代码,需完善

    您的用户可能十分优秀,并且大多数用户可能完全按照期望来使用应用程序。但是,只要提供了输入的机会,也就极有可能存在非常糟糕的输入。作为一名应用程序开发人员,您必须阻止应用程序接受错误的输入。

    C、C++内存管理.doc

    良好的内存管理能够让开发者获得更高的性能和更多的控制权,而糟糕的内存管理则可能导致内存泄漏、程序崩溃等问题。本篇将从C和C++的内存管理机制出发,深入探讨内存分配方式、堆与栈的区别以及内存泄漏等问题。 ##...

    LabVIEW界面设计秘诀

    而一个糟糕的UI则可能让潜在客户失去兴趣。 #### 三、设计原则 为了创建出既美观又实用的UI,开发者应该遵循一些基本原则: 1. **一致性**:确保界面中的元素和行为保持一致,这样用户可以更容易地学习并记住如何...

Global site tag (gtag.js) - Google Analytics