如果每个方法和变量只使用一次,这是更正确的惯例吗?
根据需要创建尽可能多的变量:
var x = GmailApp.getInboxUnreadCount();
var email = GmailApp.getInboxThreads (0, x);
在一行中编写代码:
var email = GmailApp.getInboxThreads (0, GmailApp.getInboxUnreadCount());
答案 0 :(得分:3)
后者,在合理范围内。但在很简单的情况下,这主要是风格问题。
这意味着如果你有一个带有10个参数的函数调用,并且每个参数都来自一个大函数调用本身,那就不要这样做。想想之后谁将获得您的代码库。
“使用较少的局部变量可以读取这行代码吗?或者我是否需要将其拆分以更好地说明该行正在做什么?”是你应该问自己的问题。在这种情况下,后者完全可读。
事实上,我认为第一个例子由于无用的局部变量名x
而不太可读。如果相反,它被命名为更好,它可能是一个更可行的选择。
var unreadCount = GmailApp.getInboxUnreadCount();
var email = GmailApp.getInboxThreads (0, unreadCount);
这更好,但在这个非常简单的情况下仍然是非常不必要的。
答案 1 :(得分:1)
这是一种权衡。
第一个示例更易于阅读和调试。它有2行可能发生错误。对于调试,这很好,因为每行只调用一个函数。
第二个例子被称为“一个班轮”并且调试起来很棘手,因为有很多事情可能导致该行的错误,但使用的内存较少。虽然可能是微不足道的数额。
在此示例中,
1. var unread = GmailApp.getInboxUnreadCount();
2. var email = GmailApp.getInboxThreads (0, unread);
假设您在第2行收到错误。您知道getInboxThreads正在抛出错误。
1. var email = GmailApp.getInboxThreads (0, GmailApp.getInboxUnreadCount());
现在说你在第1行遇到错误。你必须检查这两种方法。