`
ybygjy
  • 浏览: 105904 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

读代码大全

 
阅读更多

如何做到优秀的开发实现?

很感谢发部中文电子版的那帮人!就和Java与模式一样,实体书买回来没看多少当收藏了,下载的电子版本却看完了。

代码大全几乎包含了软件生命周期的方方面面,从多方面讨论了软件分析设计实现工作的原则、目标、方法,重点在实际开发实现层面,代码大全告诉了我什么才是规范化,如何做到人与代码最顺畅的沟通,我理解的代码大全的主题是:“优秀的软件设计实现是什么样子?如何做到优秀?做到优秀需要考虑哪些要素?”

设计优秀在于问题域分解和抽象。

实现优秀在于找寻适合自身团队组织的要素共同执行和遵守。

关于设计的主题

用食物链描述软件项目的需求分析、设计、实现过程很精辟,这块可以有很多遐想和牢骚。。。

结构设计
子程序设计、模块化设计的好不好很大程序上取决于系统的结构设计好不好。

设计的层次

一、划分子系统

二、切分成模块

三、划分成子程序

四、子程序内部设计

结构化设计主题
系统的组织、系统将被设计成几个黑盒子、明确定义的子程序和模块、开发设计的策略、评估设计准则、关于问题的明确说明,这是解决问题的指导原则、自顶向下分解、自底向上合成

面向对象主题

通过对实际问题的分析,从中抽象出对象,然后再用程序语言表现它。面向对象的抽象化程度很高。

关键思想

抽象、封装、模块化、层次结构和继承性、对象与类(静态的类与动态的对象)

往返设计主题

设计是一个复杂的过程、是一个“险恶”的过程(托卡马大桥的设计,卡门旋涡、只有先解决它或部分解决它之后才能明确定义出的问题)、是一个启发的过程(为什么非要在经验和信息都不足的情况下草率决定呢?)

怎么解决问题

最重要的原则之一就是不要抱着一种方法不放,如果编写PDL无效,那么就作图或用自多语言写出来,要么就写一小段程序验证,或使用一种完全不同的方法,比如硬算解决法,坚持用铅笔不停地写和画,大脑也许会跟上。如果这一切都无效,暂时放开这个问题,出去自由地散散步,或都想一下其别的,然后再回到这个问题上。如果你尽了全力还一无所获,那么暂时不考这人问题比苦思冥想更快获得答案。最后可以借鉴其它领域中的方法来解决软件设计中的问题。

1、理解问题

问题是什么?数据是什么?条件是什么?有可能满足条件么?已知条件足以确定未知么?已知条件是否不够充分?是否矛盾或冗余?

2、设计一个方案,

设计一个方案。找到己知数据和未知之间的联系。如果不能找出直接联系的话,你可能不得不考虑一些辅助问题,但最后,你应该找到一个解决方案。以前你是否遇到过这个问题?或者是见过与它稍有不同的问题?是否知道与其相关的问题?是否知道在这个问题中有用的定理?看着未知!努力回忆起一个有着相同或类似未知的问题。这里有一个与此相关的你以前解决过的问题,你能利用它吗?是能利用它的结论还是能用它的方法?是否该引入辅助要素以使这个问题可以再用?能否重新表述一下问题?能用另外一种方式表述它吗?返回到定义。如果你无法解决这个问题,可以先试着解决一些别的问题,是否能想象出一个容易解决的相关问题;一个广义些的问题或是一个更特殊的问题?一个相似的问题呢?能否解决问题的一部分呢?仅保留一部分条件,忽略其余条件;未知可以被决定到什么程度?会发生什么变化?能否从数据中推导出一些有用的东西?能否找出适于确定未知的其余数据?能否改变数据或未知?同时改变两者呢?这样做能否使新的未知和新的数据更接近些?是否使用了全部的数据?使用全部条件了吗?是否考虑了这个问题的全部必要条件?

3、执行你的计划

执行你解决问题的计划?同时检查每一步工作。你是否可以认定每一步都是正确的?你能证明这点么?

4、回顾,检查一下答案

你能检查一下答案么?能检查一个论证么?能否用另外一种方法推导出答案?能否一眼就看出答案?能否在其它问题中再利用本题的答案或结论?

分享到:
评论

相关推荐

    代码大全读书笔记

    代码大全读书笔记 xmind 图表形式展现出该书的一些核心价值及观点

    编写可读代码的艺术-完整版(带书签)_可读代码_

    《编写可读代码的艺术》是一本专注于提升代码可读性的著作,它强调了代码的可读性对于软件开发的重要性。可读代码不仅有助于团队协作,还能降低维护成本,提高软件质量。以下是书中涵盖的一些关键知识点: 1. **...

    小程序源码 语音跟读 (代码+截图)

    小程序源码 语音跟读 (代码+截图)小程序源码 语音跟读 (代码+截图)小程序源码 语音跟读 (代码+截图)小程序源码 语音跟读 (代码+截图)小程序源码 语音跟读 (代码+截图)小程序源码 语音跟读 (代码+截图)小程序源码 ...

    微信小程序 阅读读书 树芽读书 (源代码+截图)

    微信小程序 阅读读书 树芽读书 (源代码+截图)微信小程序 阅读读书 树芽读书 (源代码+截图)微信小程序 阅读读书 树芽读书 (源代码+截图)微信小程序 阅读读书 树芽读书 (源代码+截图)微信小程序 阅读读书 树芽...

    代码大全2中文版.pdf

    《代码大全2》是Steve McConnell的经典著作,被誉为程序员必读的书籍之一,它深入探讨了软件开发中的各种最佳实践和编程技巧。这本书的核心是提升代码质量和可维护性,旨在帮助程序员编写出更高效、更易读、更易于...

    读代码的窍门.pptx

    读代码的窍门.pptx读代码的窍门.pptx读代码的窍门.pptx读代码的窍门.pptx读代码的窍门.pptx读代码的窍门.pptx读代码的窍门.pptx读代码的窍门.pptx读代码的窍门.pptx

    代码大全(第二版)高清带目录pdf

    《代码大全(第二版)》是一本深受程序员喜爱的经典书籍,尤其适合有着2至3年工作经验的开发者深入研读。这本书全面涵盖了软件开发过程中的各种编程实践和技巧,旨在提升编程质量,培养良好的编程风格。作者通过丰富...

    如何让代码更可读-读《编写可读代码的艺术》读书笔记.pdf

    《编写可读代码的艺术》是一本致力于提升代码可读性的书籍,强调了代码可读性在软件工程中的重要性。代码可读性不仅关乎程序员之间的沟通效率,还直接影响到软件的维护成本。以下是对书中一些核心观点的提炼: 1. *...

    html论坛代码大全很有用

    HTML论坛代码大全是一种非常实用的资源,尤其对于那些在论坛活动中活跃并希望个性化自己帖子的用户来说。HTML,全称HyperText Markup Language,是用于创建网页的标准标记语言。在这个“html论坛代码大全”中,我们...

    如何读懂源代码

    如何读懂源代码如何读懂源代码如何读懂源代码如何读懂源代码如何读懂源代码如何读懂源代码如何读懂源代码如何读懂源代码如何读懂源代码

    完整的代码大全 pdf版

    《代码大全》是一本深受欢迎的编程图书,由Steve McConnell撰写,它全面涵盖了软件开发过程中的各种编码实践和技巧。这本书对于任何级别的程序员都极具价值,无论你是初学者还是经验丰富的开发者,都能从中找到提升...

    代码大全PPT文档

    1. **编程原则与实践**:《代码大全》强调了编写清晰、可读、可维护的代码的重要性。PPT文档可能会涵盖如何遵循命名规范、注释规则以及编写简洁明了的函数和类。 2. **设计模式**:设计模式是解决常见编程问题的...

    微信小程序 教育培训 悦读神器 (源代码+截图)

    微信小程序 教育培训 悦读神器 (源代码+截图)微信小程序 教育培训 悦读神器 (源代码+截图)微信小程序 教育培训 悦读神器 (源代码+截图)微信小程序 教育培训 悦读神器 (源代码+截图)微信小程序 教育培训 悦读...

    代码大全2中文版

    《代码大全2中文版》是Steve McConnell的经典编程著作的中文翻译版,这本书深入探讨了软件开发过程中的编码实践和技巧,旨在提升程序员的代码质量。它涵盖了从设计、实现到测试和维护的整个软件生命周期,对C++...

    代码大全

    《代码大全》是一本深入探讨编程实践的书籍,旨在提高程序员的编码技能和代码质量。在编程领域,源码和工具是两个至关重要的元素,它们共同构成了高效开发的基础。源码是程序的核心,而工具则为程序员提供了强大的...

    代码大全下载

    《代码大全》是一本深受程序员喜爱的经典编程书籍,由Steve McConnell撰写,旨在帮助开发者提高代码质量和效率。这个压缩包文件包含的很可能就是该书中的示例代码、练习或补充资料,对于学习和理解书中提到的各种...

    编写可读代码的艺术.ppt

    编写可读代码的艺术的总结,希望能对想要写出清晰代码的程序员起到帮助作用。

    代码大全2.mobi

    《代码大全》和《人月神话》我都在自己对软件处于不同理解阶段的时候读过。《人月》通读了两遍,《代码》大概读了三分之二。老实说,《代码》虽然成书晚,讲的具体细微,其质量并不如《人月》。很多观点也值得商榷。...

    C#写的读文字的语音小软件代码

    在项目中,"Voice"可能是源代码文件夹,包含了项目的各种文件,如.cs(C#源代码文件)、资源文件(如图标或音频文件)以及配置文件。这些文件通常会包括主程序的入口点(通常是Program.cs或Main.cs),以及负责处理...

Global site tag (gtag.js) - Google Analytics