代码中方法/函数的书写顺序

起因

最近在看 Clean Code(《代码整洁之道》),在看到第五章 格式的时候刚好注意到一个之前一直比较困惑的点——方法/函数的书写顺序
于是,就准备记录一下。

垂直方向上的靠近

在写代码时,我们习惯将其分成一个个不同的方法/函数,一方面是对不同层次的代码及其含义做抽象,另一方面是这样有助于提高代码的可维护性。说白了,这也都是一个个前辈们总结出的经验,而这也是我想要从 Clean Code 中学习的。

针对不同的方法/函数,必然存在互相调用的现象,那么,这些方法/函数应该按照怎样的顺序来书写呢?
Clean Code给出的建议是紧密相关的代码应该互相靠近
这样做有什么好处呢?
更易于阅读,一览无遗,不必更多地移动头部和眼球!

例:

function printCurrentMonth() {
	const month = getCurrentMonth();
	console.log(`现在是 ${month} 月份`);
}

function getCurrentMonth() {
	return new Date().getMonth() + 1;
}

垂直顺序

那么,是不是我们只需要尽量将相关的代码放的靠近就可以了呢?当然不是!

推荐的做法是自上向下展示函数调用依赖顺序。也就是说,被调用的函数应该放在执行调用的函数下面。

如下:

function A() {
	B();
	C();
}

function B() {
	console.log("这是 B");
}

function C() {
	console.log("这是 C");
}

function D() {
	E();
}

function E() {
	console.log("这是 E");
}

多级调用的垂直顺序

虽然之前写代码大部分也都是这么写的,但是并没有特别遵循,而且对其原因也不是很清楚,而在看了 Clean Code 的这部分内容后,也确实明白了这么写的好处!

但是,确实有一个问题的答案,Clean Code 并没有明确的指出来,那就是如果有函数存在多级调用的现象,那么顺序应该是怎样的呢?

如下:

function A() {
	B();
	C();
}

function B() {
	D();
}

针对上面这段代码,我到底应该在 B 下面先写 C 呢还是先写 D 呢?

于是,我在 Clean Code 里翻找了一下,找了一些作者正确的例子,找到了这个答案:先写 D

如下:

function A() {
	B();
	C();
}

function B() {
	D();
}

function D() {
	console.log("这是 D");
}

function C() {
	console.log("这是 C");
}

总结

  • 紧密相关的代码应该互相靠近
  • 自上向下展示函数调用依赖顺序,被调用的函数应该放在执行调用的函数下面
  • 如果存在多级调用的情况,优先展示单个被调用的函数的所有细节
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

十甫寸木南

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

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

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

打赏作者

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

抵扣说明:

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

余额充值