yuann72
V2EX  ›  问与答

函数返回布尔值, 你们倾向于返回判断表达式还是加个 if 判断?

  •  
  •   yuann72 · Jul 12, 2018 · 2115 views
    This topic created in 2890 days ago, the information mentioned may be changed or developed.

    第一种

    retrun 1 == 1 && 2 == 2 && 3 == 3 && 
    	123456 == 123456;
    

    第二种

    if (1 == 1 && 2 == 2 && 3 == 3 && 
    	123456 == 123456) {
    	return true;
    } else {
    	return false;
    }
    

    我感觉第一种可读性会差些, 特别是这个判断表达式很长的时候
    第二种又有些多余 不够简洁 你们怎么选?

    7 replies    2018-07-12 13:52:30 +08:00
    xbigfat
        1
    xbigfat  
       Jul 12, 2018
    我对于比较复杂的判断,会使用第二种,并加以注释说明判断条件;
    很简单的问题比如 isMale 直接返回就可以了。
    yuann72
        2
    yuann72  
    OP
       Jul 12, 2018
    @xbigfat 那跟我平时差不多
    TuringGooner
        3
    TuringGooner  
       Jul 12, 2018
    看复杂程度吧,你这个例子我一般会写成第二种
    prolic
        4
    prolic  
       Jul 12, 2018 via Android
    这么长的我倾向于拆成 1 != 1 return false,2 != 2 return false .... return true,只有一个&&的情况我会用第一种
    shenjo
        5
    shenjo  
       Jul 12, 2018
    针对这个例子,我个人比较倾向 把这句话封装成函数,取个有意义的名字 return isTrue(),根据函数名就大致知道这是在干嘛,想看具体实现在去看。
    Justin13
        6
    Justin13  
       Jul 12, 2018 via Android
    @shenjo
    赞同
    May725
        7
    May725  
       Jul 12, 2018
    赞成 4 楼 ,如果条件多的情况下,分别独立出来判断更清晰些
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3103 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 14:18 · PVG 22:18 · LAX 07:18 · JFK 10:18
    ♥ Do have faith in what you're doing.