美文网首页
代码整洁之道 -- 更好地给函数命名

代码整洁之道 -- 更好地给函数命名

作者: llkevin13579 | 来源:发表于2022-03-06 18:00 被阅读0次

        在编程中,第一个学的是有意义的命名,那么第二个使用比较多的应该就是函数了,函数命名的好坏也对一个工程开发的效率起着很重要的作用。

一、函数的参数个数

        最理想的参数数量是0(零参数函数),其次是1(单参数函数),再次是2(双参数函数),应尽量避免3(三参数函数),有足够特殊的理由才能用3个以上的参数(多参数函数)。

        先说说单参数函数,比如一个函数这样调用:render(true),对于读者来说是不是有点懵逼,true?什么true?如果这个函数我只是想知道大概意思,写成这样就一定要点进去函数去查看了,是不是很麻烦?点进去看到函数的定义render(Boolean isSuite)我们才大概搞懂了这个函数参数的含义。如果把这个函数拆成renderForSuite()和renderForSingleTest(),就舒服很多了。

       再看看双参数函数,writeField(name)比writeField(outputStream, name),是不是writeField更加直接一点?带上outputStream的话,开发者还需要看这个stream是使用什么格式的,各种复杂的文档查询。另外就是在日常开发的时候,经常看到同事写类似断言的函数,比如Jest里面,写了一个isEquals(a, b),我不止一次遇到这样类似的函数,究竟第一个是期望值,还是实际值呢?每次都需要点进去函数去查看,十分的麻烦,如果在函数的命名上我们更人性化一些,这样的阅读就会更加舒服一些了,比如把它改成isExpectedEqualsToActual(a,b),读者无需查看详细的函数定义就知道这个函数参数的定义了。

二、 使用异常代替返回错误码

在多次条件判断的时候,如果异常判断比较复杂,比较容易出现一种情况,就是多重嵌套,多重嵌套处理起来是特别麻烦的一件事,比如:

if (deletePage(page) == 'success') {

    if (registry.deleteReference(page.name) == 'success') {

        if (keys.deleteKey(page.name.makeKey() == 'success') ) {

            logger.log("page deleted");

        } else {

            logger.log("key not deleted");

        }

    } else {

        logger.log("deleteReference from registry failed");

    } else {

        logger.log("deleted fail")

    }

}

如果我们使用异常捕获代替错误码,这样逻辑就得到了简化:

try {

    deletePage(page);

    registry.deleteReference(page.name);

    keys.deleteKey(page.name.makeKey() ;

}

catch(Exception e) {

    logger.log(e.getMessage());

}

三、

相关文章

  • 代码整洁之道 -- 更好地给函数命名

    在编程中,第一个学的是有意义的命名,那么第二个使用比较多的应该就是函数了,函数命名的好坏也对一个工程开发的...

  • 简洁代码--命名

    代码整洁之道笔记 [TOC] 命名 代码的整洁,从命名开始 名副其实、准确 名称应该能够说明该(变量、类、函数)存...

  • 代码整洁之道-<有意义的命名>

    代码整洁之道-<有意义的命名> 代码整洁之道 一书相关读书笔记,整洁的代码是自解释的,阅读代码应该如同阅读一篇优秀...

  • 笔记链接.代码整洁之道

    本书豆瓣链接:《代码整洁之道》 第1章 整洁代码第2章 有意义的命名第3章 函数第4章 注释第5章 格式第6章 对...

  • 代码整洁之道-<函数>

    代码整洁之道-<函数> 代码整洁之道 一书相关读书笔记,整洁的代码是自解释的,阅读代码应该如同阅读一篇优秀的文章,...

  • 一、代码整洁之道:命名

    1.名副其实 变量、函数或类的名称应该答复了所有的大问题。比如它为什么存在,它做什么事情,应该怎么用。如果名称需要...

  • 代码整洁之道 - 函数

    快速指南 以下是文中关于写好函数的几个关键点 短小 只做一件事 每个函数一个抽象层级 使用描述性的名称 函数参数,...

  • TypeScript 代码整洁之道 - 函数

    将 Clean Code 的概念适用到 TypeScript,灵感来自 clean-code-javascript...

  • 代码整洁之道【2】--函数

    代码整洁之道,关于函数部分的总结 一、函数只做一件事 函数应该只做一件事、做好这件事、只做这件事。判断函数是否不止...

  • [代码整洁之道]-整洁代码

    前段时间,看了代码整洁之道,顺手做了些笔记,分享给大家,和大家一起探讨整洁代码之道。 1.1要有代码 代码是我们最...

网友评论

      本文标题:代码整洁之道 -- 更好地给函数命名

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