程序编码

编码

程序设计语言

结构化程序设计

编码原则——效率——提高效率

程序设计风格

程序设计质量评价

程序复杂性度量

 

结构化程序设计

1)在编写程序时,强调使用几种基本控制结构。

2)在程序设计过程中尽量采用自顶向下和逐步细化的原则,由粗到细,一步步展开。

编码原则

A、总原则:

1.先求正确后求快

2.先求清晰后求快

3.求快不忘保持程序正确

4.保持程序整洁以求快

5.不要因效率而牺牲清晰

B、好程序标准

1.易于测试和调试

2.易于维护

3.易于修改

4.设计简单

5.高效率

效率:

1)正确优先

2)清晰优先

3)写程序前先简化表达式

4)尽量避免使用多维数组

5)尽量避免使用指针和复杂表

6)不要混合使用不同的数据类型

7)尽量使用整数运算和布尔表达式

8)使用执行时间短的算术运算

提高效率

1)程序运行的时间ç详细设计阶段确定的算法来决定(尽量避免使用指针,不要使用混合的数据类型)

2)存储器的效率

3)输入输出的效率——人机交互

程序设计风格

1)源程序文档化

A.标识符的命名

B.安排注释

C.程序的视觉组织

2)数据说明

A.数据说明的次序应当规范化

    i.常量说明

    ii.简单变量类型说明

    iii.数组说明

    iv.公用数据块说明

    v.所有的文件说明

  整型量说明

  实行量说明

  字符量说明

  逻辑量说明

B.说明语句中变量安排有序化——按字母顺序排列;输入前,输出后;整型前,实型次,其它后。

C.使用注释说明复杂数据结构——序言性注释、功能性注释

注释

序言性注释:程序标题;有关该模块功能和目的的说明;主要算法;接口说明(包括调用形式,参数描述,子程序清单);有关数据描述;模块位置(在哪一个源文件中,或隶属于哪一个软件包);开发简历(模块设计者、复审考、复审日期)。——上侧

功能性注释:描述重要的程序段。——右侧

3)语句结构

1.在一行内只写一条语句

2.程序编写首先应当考虑清晰性

3.程序要能直截了当地说明程序员的用意

4.除非对效率有特殊要求,程序编写要做到清晰第一,效率第二。

5.首先要保证程序正确,然后才要求提高速度。

6.避免使用临时变量而使可读性下降。

7.让编译程序做简单的优化

8.尽可能使用库函数

9.避免不必要的转移。同时如果能保持程序可读性,则不必用GoTo语句。

10.尽量只采用三种基本的控制结构来编写程序。

11.避免使用空的Else语句和If…ElseIf…语句。这种结构容易使读者产生误解。

12.避免采用过于复杂的条件测试。

13.尽量减少使用“否定”条件的条件语句。

14.尽可能用通俗易懂的伪码来描述程序的流程,然后再翻译成必须使用的语言。

15.数据结构要有利于程序的简化。

16.要模块化。

17.利用信息隐蔽,确保每一个模块的独立性。

18.从数据出发去构造程序。

19.不要修补不好的程序,要重新编写。

20.对太大的程序,要分块编写、测试,然后再集成。

4)输入/输出方法

A输入:

i.输入格式力求简单、一致,并尽可能采用自由格式输入

ii.使用数据结束或文件结束标志来终止输入

iii.不要让用户来计算输入的项数或记录数

B输出:

    i.标志所有的输出数据,加必要的说明

    ii.当用户使用程序时,可对用户做到“在线”帮助

    iii.对可能产生重大后果的请求i,先给出提示

    iv.对所有输出的数据加标注

    v.发生错误时,能迅速恢复正常。

程序设计质量评价——鱼骨刺图

A.正确性

1.程序中没有语法错误

2.程序运行时没有发现明确的运行错误

3.程序中没有不适当的语句。

4.用有效的测试数据,得到程序的正确结果

5.用无效的测试数据,得到程序的正确结果

6.用任何可能的数据,使程序在运行时得到正确的结果。

B.结构清晰性

1.是否用三种结构化格式表示程序的控制逻辑

2.是否有一个入口,一个出口

3.是否严格控制GoTo语句

C.易修改性

D.易读性

E.简单性

程序复杂度测量

A.代码行度量法

BmcCabe度量法(环路复杂性度量)——取决于程序控制结构的复杂度,可加

C.程序长度(预测的Halstead长度)

(程序量,程序量比率,程序员工作量,程序的潜在错误)

焦点复杂度:(判定程序是不是结构化)——非结构化è结构化(单入口单出口)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值