如何写好一个函数

如何写好一个函数

这不是一个设计良好的方法(或者说根本就没有设计的方法)。好的方法应该具备哪些特点呢?个人认为应该有以下几点:

短小

  • 一般来说,函数体的代码行在30-50行是比较好的,这样函数的逻辑能在不滚动屏幕的情况下就能读完,理解起来比较容易。当然,如果逻辑比较简单,可以不受此限制

功能单一

  • 简单来说,就是一个函数只做一件事,什么叫一件事?一个订单的提交,可能包含校验,写数据库,发邮件,刷缓存等很多操作,但是对用户来说是一件事,可以理解为在同一抽象层次上不可再分的一组指令。这里的关键是一个抽象层次。比如,上面的方法,他的抽象层次就是根据入参条件,查询出对应的结果集,如果在查询的时候,在加入其他的逻辑,比如:插入一段用户行为收集的代码,就破坏了规则

参数个数不能超过5个

  • 按照鲍勃大叔的说法:最理想的参数数量是零,就是不带参数的函数,其次是一个,不到万不得已不要超过5个,主要原因是参数多了,出来排列组合的可能性就多了,在测试的时候,容易出现场景的遗漏

命名准确

  • 符合功能意图,方法的命名经过深思熟虑,不是随便就起个名字了事,好得方法名,能准确描述其代码功能意图,见名之意

嵌套不超过三层

  • 方法中的if/switch/for/while等最好不要超过三层,可读性会比较好,理解起来也比较容易

有人会讲这么多要求,如果全部做到,就不敢动手了,是的,当所有的条件都加上的时候会出现这种情况,所以我们第一想的是如何把功能实现,而不是被这些东西限制住,当代码实现了,那么我们可以进行优化代码,去满足我们的要求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT枫斗者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值