各位程序员对于使用短函数和使用内联代码有何看法?
功能示例:
//Check if all keys from $keys exist in $array
function functionName(array $array, array $keys) {
return array_diff($keys, array_keys($array));
}
functionName($mas,$keys);
对比仅使用代码:
array_diff($keys, array_keys($mas));
我认为在你的例子中,这是多余的。没有充分的理由,无需创建额外的函数调用并向文件大小添加字节。
此外,对于其他程序员来说,内联
array_diff($keys, array_keys($mas));
的调试要容易得多,而不是通过查看代码来准确找出 functionName()
的作用及其位置。
这取决于
functionName
实际上是什么。
如果您在整个代码中使用
customerDetailsAreValid
并且突然必须添加 $array['email']
的验证,您将会感谢意图和实现的分离。
另一方面,如果您将
array_diff
包装在函数 diffArray
中,那就没有多大意义了。
我认为在编写您希望长期存在的逻辑时,清晰度是首要考虑的问题。
总的来说,我讨厌内联函数。我认为他们很懒,提倡意大利面条式代码,并且总体上表现出开发人员完全不关心风格/可读性/清晰度。
文件大小 - 我发现这个论点非常任意。 js文件传输一次,然后cahced。在许多情况下,您会发现描述性名称等(希望是注释),这些都会增加文件大小。如果大小非常重要,请使用文件最小化器,使文件尽可能小。
寻找功能?尝试弄清楚大量 docReady 中到底发生了什么怎么样? CTL-F 通常会调用查找工具。
我承认,在一些简单的情况下,内联函数几乎不会影响代码的可读性。然而,内联方法永远不会比引用和实现的交替分离更清晰。
我的两分钱