栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

有些程序员先一堆if排除操作,然后才是正常逻辑,好吗?

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

有些程序员先一堆if排除操作,然后才是正常逻辑,好吗?

假如需求如下

一个程序猿的相亲要求:

1、女的

2、年龄小于23

3、身高大于1米6

4、体重小于130斤

public class Girl {

    public static String gender;

    public static int age;

    public static int height;

    public static int weight;

}

public class One {

    public static void main(String[] args) {
        method1();
        method2();
    }

    private static String method1() {
        if (Girl.gender.equals("女")) {
            if (Girl.age < 23) {
                if (Girl.height > 160) {
                    if (Girl.weight < 130) {
                        // 准备相亲
                        prepareDate();
                    } else {
                        System.out.println("原因:我不喜欢胖子");
                        return "不接受";
                    }
                } else {
                    System.out.println("原因:我不喜欢矮子");
                    return "不接受";
                }
            } else {
                System.out.println("原因:我不喜欢年龄大的");
                return "不接受";
            }
        } else {
            System.out.println("原因:我不喜欢男人");
            return "不接受";
        }
        return "去相亲";
    }


    private static String method2() {

        if (Girl.gender.equals("男")) {
            System.out.println("原因:我不喜欢男人");
            return "不接受";
        }
        if (Girl.age > 23) {
            System.out.println("原因:我不喜欢年龄大的");
            return "不接受";
        }
        if (Girl.height < 160) {
            System.out.println("原因:我不喜欢矮子");
            return "不接受";
        }
        if (Girl.weight > 130) {
            System.out.println("原因:我不喜欢胖子");
            return "不接受";
        }
        // 准备相亲
        prepareDate();

        return "去相亲";
    }

    private static void prepareDate() {
        System.out.println("准备相亲");
    }
}

以客户为中心,从需求出发的话,

方式一其实更符合需求描述,写代码和质量检查时候也更顺心一些;

方式二看似简单,代码整洁,但是判断逻辑跟需求拧着来,看着好别扭。更可怕的是可能会漏掉判断条件,例如需求判断如果是“女”则继续,方式二判断为男则停止,但是遇到未知性别的时候显然就不符合需求了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/274768.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号