第四章 程序设计

选择语言的原则
    最少的工作量原则
    最少技巧性原则
    最少错误原则
    最少维护原则
    减少记忆原则
总原则:先求正确后求快
        先求清晰后求快
        求快不忘保持程序正确性
        保持程序整洁以求快
        不要因效率而牺牲清晰
好程序标准:易于测试和调试
            易于维护
            易于修改
            设计简单
            高效率

 

结构化程序设计主要包括两方面:
      在编写程序时,强调使用几种基本控制结构
      在程序设计过程中,尽量采用自顶向下和逐步细化的原则,由粗到细,一步步展开

结构化程序设计的主要原则:
     使用语言中的顺序、选择、重复等有限的基本控制结构表示程序逻辑。
     选用的控制结构只准许由一个入口和一个出口
     复杂结构应该用基本控制结构进行组合嵌套来实现
     单入口,单出口
     自顶向下,逐步求精

程序设计风格
     源程序文档化
         标识符的命名
         安排注释
         程序的视觉组织
     数据说明
         数据说明的次序应当规范化
           可按如下顺序排列:整型量说明、实型量说明、字符量说明、逻辑量说明
         说明语句中变量安排有序化
            当多个变量名在一个说明语句中说明时,应当对这些变量按字母的顺序排列
         应当对过程和函数的形参排列有序
          输入参数在前,输出参数在后。整形参数在前,实型参数次之,其它参数在后
    使用注释说明复杂数据结构
    语句结构
          在一行内只写一条语句
          程序编写首先要考虑清晰性
          程序要能直截了当的说明程序员的用意
          除非对效率有特殊要求,程序编写要做到清晰第一,效率第二
          首先要保证程序正确,然后才要求提高速度
          避免使用临时变量而使可读性下降
          让编译程序做简单的优化
          尽可能使用库函数
          避免不必要的转移。同时如果能保持程序可读性,则不必用go to语句
          尽量只采用三种基本的控制结构来编写程序
          避免使用空的else语句和if。。then if。。语句。这种结构容易使读者产生误解
          避免采用过于复杂的条件测试
          尽量减少使用“否定”条件的条件语句
          尽可能用通俗易懂的伪码来描述程序的流程,然后再翻译成必须使用的语言
          数据结构要有利于程序的简化
          要模块化
          利用信息隐蔽,确保每一个模块的独立性
          从数据出发去构造程序
          不要修改不好的程序,要重新编写
          对太大的程序,要分块编写、测试,然后再集成
      输入输出
          输入格式力求简单、一致,并尽可能采用自由格式输入
          使用数据结束或文件结束标识来终止输入,不要让用户来计算输入的项数或记录数
          标识所有的输出数据,加必要的说明
          当用户使用程序时,可对用户做到“在线”帮助;对可能产生重大后果的请求,先给出提示;对所有输出的数据加标注;发生错时,

          能迅速恢复正常。
      效率
          先使程序正确,再使程序有效率
          先使程序清晰,再使程序有效率
          写程序前先简化表达式
          尽量避免使用多维数组
          尽量避免使用指针和复杂表
          不要混合使用不同的数据类型
          尽量使用整数运算和布尔表达式
          使用执行时间短的算术运算

 

程序设计质量评价
      正确性
           程序中没有语法错误
           程序运行时没有发现明显的运行错误
           程序中没有不适当的语句
           用有效的测试数据,得到程序的正确结果
           用无效的测试数据,得到程序的正确结果
           用任何可能的数据,使程序在运行时得到正确的结果
      结构的清晰性
           是否用三种结构化格式表示程序的控制逻辑
           是否由一个入口,一个出口
           是否严格控制goto语句
      易修改性
      易读性
      简单性
 
程序复杂性度量
   代码行度量法
       设每行代码的出错率为每100行源程序中可能有的错误数目
       程序出错率的估算范围是从0.04到7%之间
       对于少于100个语句的小程序,源代码行数与出错率是线性相关的。。。
    Mccabe度量法
       环路复杂性度量
           环路的复杂度取决与程序控制结构的复杂度
           环路复杂度是可加的
           对于复杂度超过10的程序,应分成几个小程序,以减少程序中的错误

 

posted @ 2010-09-12 15:24  转航  阅读(180)  评论(0编辑  收藏  举报