2.函数

作者: 何大炮 | 来源:发表于2019-03-09 16:31 被阅读0次

1. 函数要短小
if,else,while等语句等,其中的代码块应该只有一行:一个调用函数。该函数的名字需要有较强的说明性,从而增加了文档上的价值。
这也意味着函数不应该大到足以容纳嵌套结构。

2. 只做一件事
一个函数只能做一件事情,并做好一件事情。
如果一个函数能够被拆开,那么这个函数就不只做了一件事情。
只做一件事的函数是不能被合理地拆分成多个部分的。

3. 一个函数对应一个抽象级
只做一件事的函数,其中的语句都要在同一抽象层级上。
函数间要形成自顶向下的顺序,我们就能遵从着抽象层级往下读了。

4. 使用有描述性的名称
好的名称应该能够描述这个函数要干什么事情,达到函数目的方式的改变不会导致函数名称的改变。
名称的自描述性省去了注释的必要。

5. 函数参数
理想的参数的数量是0,越少越好。输出参数名要能让人一目了然。
多元函数可以通过结构体或者类将多元转化为一元。

6. 副作用
为了避免因为函数名而被误用,函数名称可以通过动词和参数关键字的配合,更好地解释函数的意图。同时保证一个函数只做一件事。

7. 分隔指令和询问
函数要么做什么事,要么回答什么事;这两件事情应该要分开,防止混淆。

8. 抽离异常控制模块
它会搞乱逻辑,把错误流程和正常流程混为一谈。同时,处理错误就是一件事。

9. 代码不能重复自己
重复是罪恶的根源

10. 结构化编程
一个函数很小的时候,多几个return, break 和continue是没有问题的。
但是一旦函数变大,保持一个出口和一个入口很有必要。

提示:如何写出这样的函数呢?

没有人能一下就安装规则写出这样的函数。
写函数一开始都是冗长而复杂的,通过不断的打磨,安装规则,调整出我们需要的最终的函数。
写程序,就是在讲故事。

相关文章

  • 2.函数

    1. 函数要短小if,else,while等语句等,其中的代码块应该只有一行:一个调用函数。该函数的名字需要有较强...

  • 2.箭头函数

    箭头函数 写法灵活 以上,两种语法, double 与 double2 结果一样。 简而言之: 删掉 functi...

  • 函数2. 11.9

    1.必选参数: 必选参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。 2.默认函数: 调用函数时,缺省...

  • 2. 代价函数

    Cost Function Model Representation m = Number of training...

  • 一些知识点总结

    损失函数(代价函数): 1.均方误差 2.交叉熵 3. 对数似然函数 激活函数: 1. sigmoid函数 2. ...

  • 2.函数的性质

    一.函数的单调性与最值 题型一:判断证明函数的单调性 证明函数在定义域上是减函数. 证明函数在上是增函数. 讨论函...

  • 2.函数的极限

    一、极限的概念 极限是微积分中的一个基本运算和方法 微积分中很多重要概念都要用极限来定义 很多重要的计算方法都要涉...

  • 2.封装ajax函数

    把第一个里面的ajax封装成一个函数,写在一个JS的文件中,下次再用的时候就直接引用就可以了 如: 就是设置一个函...

  • 2. 函数的扩展

    返回指定长度的随机字符串 函数的默认值 第一种 第二种 es6 情形1 情形2 arguments 的表现 默认情...

  • 2.函数指针简介

    整理几个方法: Q1: SEL methodId=@selector(func1); Q2:[self perfo...

网友评论

      本文标题:2.函数

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