Chapter-7_Writing-the-Programs.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Chapter-7_Writing-the-Programs,writingonthewall,thejoysofwriting,writingonthejob,theartofwriting,writingthefuture,thewritingprocess,writingsonthewal,thewritinglife,thestyleofwriting

Writing the Programs 中国科学技术大学软件学院 孟宁 look back to this course 解决问题的一般方法 软件过程及过程模型 项目的计划与项目管理 获取需求 系统设计 解决问题的一般方法 find a problem Analysis vs. synthesis of a problem Systems and Abstraction Systems approach nested systems system boundary interrelated systems 软件过程模型 Software process models Waterfall Model V Model Prototyping Model Increments and Interations Spiral Model 统一过程Unified Process UP 敏捷视角下的过程 项目的计划 需求与设计 Agenda look back to this course Programming Standards and Procedures Programming Guidelines Documentation 把方案转化为软件 我们已经学习了理解客户和使用者的问题并且为它设计成可行的解决方案。 现在,我们必须专注于把方案转化为软件。换句话说,我们必须编写程序来实现我们的方案。这其中的困难主要有: 设计者可能对平台和程序的运行环境的特性没有完全的了解;使用流程图和表容易表示的结构和关系并不一定易于编写成代码。 我们写出的代码不仅当我们进行复查测试时可以理解,而且对于后来的系统升级者也要能够理解。 当我们编写代码时,我们必须充分利用设计者的组织、数据结构和编程语言的构成特性,以编写出易于重用的程序。 Software engineering standards 许多公司坚持让他们的代码遵循一定的风格、规范和标准。 Standards for you标准对于你 帮你组织思想,避免错误 有助于你将设计转化成代码,维持设计组件和代码组件之间的一致性 Standards for others标准对于别人 了解你写了什么 容易理解软件做什么及如何运行 Matching design with implementation设计与实现的匹配 最关键的标准就是需要在程序设计组件和程序代码组件之间有直接的对应关系 系统的一般目的是在整个软件生命周期中保持一致 设计和代码之间的一致性是基本问题 注释的使用原则和规范 注释的使用原则是增进可读性/可理解性 注释在特定场合的使用规范: 文件头部的注释 程序块头部的注释 与设计一致的关键点的注释 容易误解的地方和一些特殊用法的注释 文件头部的注释 程序块头部的注释 无注释 一句话注释 函数功能、各参数的含义和输入/输出用途等一一列举 Programming Guidelines Major aspects of programming编程的主要方面 control structures控制结构 Algorithms算法 data structures数据结构 control structures 对于任一种设计,程序代码结构反映设计控制结构是很重要的。 读者无需大范围的在代码中跳来跳去。他们应该集中注意于程序作了些什么,而不是在程序的控制流。 很多指导原则和标准建议写出的代码要能够从上至下很容易读懂。 模块化的建立一个程序, 我们能够不同程度的隐藏部分实现细节,使整个系统易于理解、测试和维护。 编写代码时,牢记通用性是个优点;不要让你的代码过于有针对性。 Example: control structures Example: control structures Algorithms 技术设计中常常指定了要用到的算法。然而,除受到语言表达和硬件的限制,你有足够的弹性实现算法。 程序员的直觉是要使程序尽可能的运行的快些。 Efficiency may have hidden costs效率(运行快的代码)可能隐含代价(成本) 编写运行快速的代码,可能会很复杂所以会花费更长的时间来写代码 测试代码的时间会更长,复杂的程序要求更多的测试用例和数据 用户会花费更多的时间去理解代码 必要的修改会花费更多的时间 千万不可牺牲正确性和清晰性来换取速度。 也不要为了未知或不必要的效率而重写某个工具代码。 Keep the program simple Keep the program simple 通过数据结构来确定程序结构 在税表这个例子中,定义数据的方法指导了我们如何进行必要的计算。通常,数据结构能影响程序的组织和流程。 在一些例子中,数据结构还能影响编程语言的选择。例如,LISP被设计成表处

文档评论(0)

qiaogao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档