编程思想:我亦无他,唯手熟尔

目录

一、编程思想三大定理

二、编程思想四大特性

三、做到高内聚,低耦合

(一)内聚

(二)耦合


一、编程思想三大定理

(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、异常

三、做到高内聚,低耦合

(一)内聚

概念:模块中各个元素的紧密程度。是信息隐蔽和局部化概念的自然扩展,是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。

内聚描述的是模块内的功能联系

  • 高内聚:保持主体正常运行,模块间的关联性 【低】 ,相对独立,各司其职  ==>  【井然有序 】
  • 低内聚:保持主体正常运行,模块间的关联性 【高】 ,独立性差 ==>  【杂乱无章 】

举例:小吃店

  • 高内聚:厨师负责做菜,服务员负责上菜和接客,收银员负责收钱,老板负责调度
  • 低内聚:我又要当厨师,又要上菜,又要接客,又要收银,又要当老板

(二)耦合

概念:对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高

耦合描述的是模块内的功能依赖

  • 高耦合:模块之间 【有很强的依赖性】 ==>  牵一发而动全身
  • 低耦合:模块之间 【没有很强的依赖性】

举例:充电器

  • 高耦合:手机是华为的,那天换成苹果,充电器需要用苹果接口的
  • 低耦合:手机是华为的,那天换成小米,充电器还是用华为的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值