目录
一、编程思想三大定理
(1)思路分析,化繁为简:将需求拆成多个步骤实现,先完成基本功能和大致框架,在往里进行增加功能
(2)先死后活:用固定的变量进行操作,等所有功能完成后,在考虑转换为可修改或用户输入的变量
(3)业务逻辑:安全性和是否有太多的bug完善,在思路分析,化繁为简时,就应该考虑这个功能有啥安全性要处理(尽量找不正确的条件,进行处理 ⇨ 异常处理)
举例:输入成绩,80分以上为优秀,60~80分为良好,60分以下为不合格
(1)思路分析,化繁为简:定义变量,创建一个分支结构语句,判定变量符合那个关系条件,就执行那个语句
(2)先死后活:(1)中的定义变量设为固定的,在分支结构语句中执行,若执行成功,可以考虑由用户输入的功能
(3)业务逻辑:在(1)和 (2)的基础上,若变量超过预期时,如 大于100 或 小于0时,语句则不执行(程序有Bug),这时要考虑安全性 ==> 在分支结构语句外嵌套一个输入大于100和小于0的条件的程序解决方法
//当合格时:用户输入 —— 后活
Scanner input = new Scanner(System.in);
int score;
//int score = 80; —— 先死
//内层的if是思路分析
//外层的if 和 for 则是业务逻辑 和 健壮性
while (true) {
System.out.printf("请输入成绩:");
score = input.nextInt();
if (score >= 0 && score <= 100) {
if (score > 80) System.out.println("优秀");
else if (score >= 60 && score <= 80) System.out.println("良好");
else if (score < 60) System.out.println("不合格");
break;
} else {
System.out.println("执行错误请重新输入");
}
}
二、编程思想四大特性
(1)可读性:在于繁长的代码中,易于理解和阅读
(2)可扩展性:当有新的需求出现时,系统不需要或者仅需要少量的更改就可以支持,无需重构或者重建
(3)可操作性:思路清晰,流程明确
(4)健壮性:减少代码的BUG、异常
三、做到高内聚,低耦合
(一)内聚
概念:模块中各个元素的紧密程度。是信息隐蔽和局部化概念的自然扩展,是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。
内聚描述的是模块内的功能联系。
- 高内聚:保持主体正常运行,模块间的关联性 【低】 ,相对独立,各司其职 ==> 【井然有序 】
- 低内聚:保持主体正常运行,模块间的关联性 【高】 ,独立性差 ==> 【杂乱无章 】
举例:小吃店
- 高内聚:厨师负责做菜,服务员负责上菜和接客,收银员负责收钱,老板负责调度
- 低内聚:我又要当厨师,又要上菜,又要接客,又要收银,又要当老板
(二)耦合
概念:对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。
耦合描述的是模块内的功能依赖。
- 高耦合:模块之间 【有很强的依赖性】 ==> 牵一发而动全身
- 低耦合:模块之间 【没有很强的依赖性】
举例:充电器
- 高耦合:手机是华为的,那天换成苹果,充电器需要用苹果接口的
- 低耦合:手机是华为的,那天换成小米,充电器还是用华为的