`

优秀的程序 vs. 糟糕的程序

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

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

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

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

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

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

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

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

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

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

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

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

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

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

优秀的程序比程序员存在的时间要更久;糟糕的程序存在的时间很短。
分享到:
评论

相关推荐

    改善Java程序的151个建议

    在通往“Java技术殿堂”的路上,本书将为你指点...对于每一个问题,不仅以建议的方式从正反两面给出了被实践证明为十分优秀的解决方案和非常糟糕的解决方案,而且还分析了问题产生的根源,犹如醍醐灌顶,让人豁然开朗。

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

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

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

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

    编写高质量代码之Java_nodrm.azw3

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

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

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

    一份优秀的数据分析报告产出流程.doc

    一份优秀的数据分析报告产出流程 在每次的数据分析工作中,将分析过程与结果写成一份通俗易懂的报告是工作的最后 一步,但是这对于一些人来说,也是最难的一步。 一份技术报告的目的是传递信息。然而,技术信息是很...

    nop多语言电子商城系统

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

    nopcommerce User Guide 1.6

    nopcommerce是国外的一个高质量的开源b2c网站系统,基于EntityFramework4.0和MVC3.0,使用Razor模板引擎,有很强的插件机制...综合能力远远高于国内的一些程序架构糟糕的.net商城程序,是二次开发和大型b2c架构的首选。

    NopCommerce

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

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

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

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

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

    皮肤控件研究文档,破解后的库文件,皮肤设计工具使用教程

    SkinPlusPlus.VS.Net.EvalEdition.3.1.1.exe 窗口数量小于10个时,颜色改变时间延迟不明显,窗口推动不会闪烁。 窗口数量大于30时: 我测试时在MDI应用程序中的主框架下新建100个子窗口,改变一下界面主题颜色,从第...

    asp.net知识库

    delegate vs. event 我是谁?[C#] 表达式计算引擎 正式发布表达式计算引擎WfcExp V0.9(附源码) 运算表达式类的原理及其实现 #实现的18位身份证格式验证算法 身份证15To18 的算法(C#) 一组 正则表达式 静态构造函数 ...

    二十三种设计模式【PDF版】

    让你自己减少重复性的编程工作),这无疑是成为一个优秀 程序员的必备条件. 整个设计模式贯穿一个原理:面对接口编程,而不是面对实现.目标原则是:降低耦合,增强灵活性. 建筑和软件中模式之异同 CSDN 的透明特别推崇...

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

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

    测试功能代码,需完善

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

    Xylophone-iOS13

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

    阿里巴巴大数据实践之数据建模

    随着DT时代互联网、智能设备及其他信息技术的发展,数据爆发式增长,如何将这些数据进行有序、有结构地分类组织和存储是我们面临的一个挑战。...Linux的创始人Torvalds有一段关于“什么才是优秀程序员”的话:“烂程序

Global site tag (gtag.js) - Google Analytics