程序设计、代码调试、程序修改

设计思想和方法论

提示:设计思想是思路上的,是逻辑的起点和方向;方法论则是流程上的,是总结而来的经验。


设计思想和哲学相关。 方法论是实践得到的。


前言

提示:本部分的设计思想和方法论是针对程序设计的


一、设计思想

1.1 模块化

 模块化,是指单独的模块要提高通用性,即要能应对使用条件下的各种情形。模块本身具有封装性,只留接口以供调用。类似于库函数(printf)。
 模块化本质上是化繁为简的思想,因为调用模块而不需要看代码,只需看开头的注释。写模块的过程是复杂的,调用方法是简洁的
 当程序鲁棒性无法改善时,就要限制使用场景,提醒用户规避这种情形。
 模块的程序功能,输入参数需要列清楚。
如何实现模块化
根据算法流程图,划分模块。

1.2 结构化编程

 i结构化就是按程序功能需要,由上到下,分而治之。按照功能或者处理需要等原则,将程序分为几个部分,分开设计和编程。最后实现组合。
如何实现结构化编程

  1. 首先梳理顶层模块
  2. 顶层模块向下划分,直至无需再进行划分
  3. 由下向上写各模块的程序,同时,由下向上进行测试

1.3 分类讨论

 if-else与switch-case本质上就是分类讨论。
 分类讨论,分类的方式就是为了使目标结构更清晰。所以可以尝试由大到小分类,找好分类依据,逐步细化。


二、代码调试

 代码调试需要借助工具,包括软件调试和硬件调试。此处不对工具做讨论,而是介绍调试的一般思路。

  1. 设定输入,获取输出。判断程序是否正确
     1)针对某一场景,设定输入,判断是否正确。
     2)代码优化,需要提高算法鲁棒性时,才需增加测试的场景。
  2. 程序有问题,先判断程序的流程是否正确
     1)单步执行,查看流程是否正确
     2)下断点,自动执行(run),判断是否在断点处停留(这个断点是程序正确时必须经过的点),若没有停留,检查是否进入了某个循环
     3)检查控制流程的相关变量是否正确
  3. 流程正确时,排查可能配置错误的变量/模块
     1)梳理可能出错的变量或模块
     2)设置断点和观察点,检查变量/模块的值
     2)找到出问题的变量后,检查赋值的过程;找到出问题的模块后,重复1~3

三 程序修改

3.1 版本控制

 程序修改要做好版本控制,避免修改后还不如上一个版本,也能避免程序无法恢复并且无法对比。

3.2 确定修改方案

  1. 删除变量要彻底,避免残留。
  2. 尽量不要修改变量名,尤其是大项目。所以变量名最好一开始就准确并且规范。

总结

提示:这里对文章进行总结:
本文档需要不断补充完善

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值