- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
十章程序编码
第十章 程序编码 结构化程序设计 程序设计风格 程序效率 程序复杂性度量 做为软件工程过程的一个阶段,程序编码是设计的继续。 程序设计语言的特性和程序设计风格会深刻地影响软件的质量和可维护性。 为了保证程序编码的质量,程序员必须深刻地理解、熟练地掌握并正确地运用程序设计语言的特性。此外,还要求源程序具有良好的结构性和良好的程序设计风格。 结构化程序设计 结构化程序设计主要包括两方面: (1) 在编写程序时,强调使用几种基本控制结构,通过组合嵌套,形成程序的控制结构。尽可能避免使用GOTO语句。 (2) 在程序设计过程中,尽量采用自顶向下和逐步细化的原则,由粗到细,一步步展开。 结构化程序设计的主要原则 使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。 选用的控制结构只准许有一个入口和一个出口。 程序语句组成容易识别的块,每块只有一个入口和一个出口。 复杂结构应该用基本控制结构进行组合嵌套来实现。 语言中没有的控制结构,可用一段等价的程序段模拟,但要求该程序段在整个系统中应前后一致。 严格控制GOTO语句,仅在下列情形才可使用:① 用一个非结构化的程序设计语言去实现一个结构化的构造。② 若不使用GOTO语句就会使程序功能模糊。③ 在某种可以改善而不是损害程序可读性的情况下。 自顶向下,逐步求精 在详细设计和编码阶段,应当采取自顶向下,逐步求精的方法。 把一个模块的功能逐步分解,细化为一系列具体的步骤,进而翻译成一系列用某种程序设计语言写成的程序。 自顶向下,逐步求精方法的优点 符合人们解决复杂问题的普遍规律。可提高软件开发的成功率和生产率 用先全局后局部,先整体后细节,先抽象后具体的逐步求精的过程开发出来的程序具有清晰的层次结构,程序容易阅读和理解 程序自顶向下,逐步细化,分解成一个树形结构。在同一层的节点上的细化工作相互独立。有利于编码、测试和集成 程序清晰和模块化,使得在修改和重新设计一个软件时,可复用的代码量最大 每一步工作仅在上层节点的基础上做不多的设计扩展,便于检查 有利于设计的分工和组织工作。 程序设计风格 程序实际上也是一种供人阅读的文章,有一个文章的风格问题。应该使程序具有良好的风格。 源程序文档化 数据说明 语句结构 输入/输出方法 源程序文档化 标识符的命名 安排注释 程序的视觉组织 符号名的命名 符号名即标识符,包括模块名、变量名、常量名、标号名、子程序名、数据区名以及缓冲区名等。 这些名字应能反映它所代表的实际东西,应有一定实际意义。 例如,表示次数的量用Times,表示总量的用Total,表示平均值的用Average,表示和的量用Sum等。 名字不是越长越好,应当选择精炼的意义明确的名字。必要时可使用缩写名字,但这时要注意缩写规则要一致,并且要给每一个名字加注释。同时,在一个程序中,一个变量只应用于一种用途。 程序的注释 夹在程序中的注释是程序员与日后的程序读者之间通信的重要手段。 注释决不是可有可无的。 一些正规的程序文本中,注释行的数量占到整个源程序的1/3到1/2,甚至更多。 注释分为序言性注释和功能性注释。 序言性注释 通常置于每个程序模块的开头部分,它应当给出程序的整体说明,对于理解程序本身具有引导作用。有些软件开发部门对序言性注释做了明确而严格的规定,要求程序编制者逐项列出 功能性注释 功能性注释嵌在源程序体中,用以描述其后的语句或程序段是在做什么工作,或是执行了下面的语句会怎么样。而不要解释下面怎么做。 例如, /* ADD AMOUNT TO TOTAL */ TOTAL = AMOUNT+TOTAL不好。 如果注明把月销售额计入年度总额,便使读者理解了下面语句的意图: /* ADD MONTHLY-SALES TO ANNUAL-TOTAL */TOTAL = AMOUNT+TOTAL 要点 描述一段程序,而不是每一个语句; 用缩进和空行,使程序与注释容易区别; 注释要正确。 视觉组织 空格、空行和移行 恰当地利用空格,可以突出运算的优先性,避免发生运算的错误。 例如 ,将表达式(A<-17)ANDNOT(B<=49)ORC写成(A<-17) AND NOT (B<=49) OR C 自然的程序段之间可用空行隔开; 移行也叫做向右缩格。它是指程序中的各行不必都在左端对齐,都从第一格起排列。这样做使程序完全分不清层次关系。 对于选择语句和循环语句,把其中的程序段语句向右做阶梯式移行。使程序的逻辑结构更加清晰。 例如,两重选择结构嵌套,写成下面的移行形式,层次就清楚得多。 IF(…) THEN IF(…) THEN …… ELSE
文档评论(0)