yuann72
V2EX  ›  问与答

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

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