0

对于使用短函数与使用内联代码,您如何看待其他程序员?

功能示例:

//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));
4

3 回答 3

3

我认为在你的例子中,这是多余的。没有充分理由无需创建额外的函数调用并将字节添加到文件大小。

此外,内联array_diff($keys, array_keys($mas));对于其他程序员来说更容易调试,而不是通过查看您的代码来准确找出functionName()它的作用和位置。

于 2013-02-04T12:52:19.500 回答
0

It depends on what functionName actually is.

If you're using customerDetailsAreValid throughout your code and you suddenly have to add validation of $array['email'], you're going to be grateful for the separation of intent and implementation.

If on the other hand you're wrapping array_diff in the function diffArray there isn't much point.

于 2013-02-04T13:24:45.080 回答
0

我认为在编写您希望在任何时间都存在的逻辑时,清晰度是首要考虑的问题。

一般来说,我讨厌内联函数。我认为他们很懒惰,提倡意大利面条式的代码,并且总体上表现出开发人员完全不关心样式/可读性/清晰度。

文件大小 - 我发现这个论点非常武断。js文件传输一次,然后cahced。在许多情况下,您会发现描述性名称等(希望是注释)都会增加文件大小。如果大小非常重要,请使用文件最小化器,使文件尽可能小。

寻找功能?尝试弄清楚在大量 docReady 中到底发生了什么怎么样。CTL-F 通常调用查找工具。

我承认可能存在一些简单的情况,即内联函数对代码的可读性几乎没有影响。但是,内联方法永远不会比引用和实现的交替分离更清晰。

我的两分钱

于 2014-02-13T19:42:30.387 回答