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

设计思想和方法论

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


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


前言

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


一、设计思想

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
    评论
Java免代码程序设计是一种通过使用可视化工具和图形界面来设计和开发Java程序的方法。它旨在简化开发过程,使非专业开发人员也能够轻松地创建基于Java的应用程序。 Java免代码程序设计通常使用IDE(集成开发环境)软件来实现。这些软件提供了一系列的图形化工具和控件,使开发人员能够通过拖放、设置属性和连接组件等简单操作来创建用户界面和业务逻辑。 借助免代码程序设计开发人员不需要编写大量的源代码,因为大部分的代码都是由工具自动生成的。他们可以专注于应用程序的逻辑和功能,而无需关注底层的编程细节。 免代码程序设计还提供了可视化的调试和测试工具,使开发人员能够快速定位和修复错误。它还支持自动化部署和发布,以减少手动配置和设置的工作量。 免代码程序设计有助于提高开发效率和降低学习曲线,尤其适用于初学者和非专业开发人员。它使开发人员能够快速构建原型和演示版本,并在需要时进行修改和扩展。 然而,免代码程序设计也有一些限制。由于开发人员无法直接访问和修改生成的代码,他们可能无法实现一些高级功能和自定义需求。因此,在处理复杂的项目和特定要求时,手写代码可能更加灵活和可行。 总而言之,Java免代码程序设计是一种简化开发过程的方法,使非专业开发人员也能够轻松地创建Java应用程序。它提供了可视化工具和图形界面,使开发人员能够快速构建应用程序,但在处理复杂的项目时可能存在一些限制。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值