美文网首页
编写可读代码的艺术 4-分支循环

编写可读代码的艺术 4-分支循环

作者: DZQANN | 来源:发表于2022-03-17 22:33 被阅读0次

    判断语句

    参数顺序

    应当把更倾向于不断变化的数值放在左边,更像常量的放在右边

    if (currentPage < MAX_PAGE) {
      
    }
    
    if (MAX_PAGE > currentPage)
    

    第一种就会比第二种看起来舒服很多

    if else的顺序

    • 优先处理正逻辑
    • 处理简单情况
    • 处理有趣或可疑的情况

    可能是我的理解有问题,简单和可疑的情况,一般都是负逻辑

    public List<VO> findByCriteria(Criteria criteria) {
      if (!isValid(criteria)) {
        throw new RuntimeException();
      }
    }
    

    就算我的方法名取得时isNotValid,那其实也是负逻辑了

    三元运算符

    三元运算符确实语法非常简单,但是理解起来肯定也不如if else方便。作者也说建议只在简单的判断逻辑中使用三元运算符

    我自己写代码会把判断和两个表达式分成3行,感觉这样会方便很多

    return exponent >= 0 ?
      mantissa * (1 << exponent) :
      mantissa / (1 << -expnent);
    

    循环

    do/while

    这种其实我自己是坚决不会写的,而且我也不觉得这个语法有存在的必要。

    for和while

    其实我觉得这两个的区别就是数组和链表的区别

    for循环更适合那种,给你一个全集,一个一个遍历的感觉。而while就是,你并不知道重点在哪里,你只知道到什么时候就差不多了,可以不用继续了

    减少嵌套

    大家经常提但总会人不断的写大括号。其实套路就两种嘛

    ①If(a) b else c一定可以写成if (a) b return c

    ②a b c都要抽成一个方法

    其实不止是if和for,包括try catch finally,理论上来说每一个部分都只能是一个方法的调用,不要把实现逻辑放在代码块里

    相关文章

      网友评论

          本文标题:编写可读代码的艺术 4-分支循环

          本文链接:https://www.haomeiwen.com/subject/hhwwdrtx.html