编码风格。短函数与内联代码

时间:2013-02-04 12:49:33

标签: coding-style

您认为其他程序员使用简短函数与使用内联代码有什么关系?

功能示例:

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

VS。仅使用代码:

array_diff($keys, array_keys($mas));

3 个答案:

答案 0 :(得分:3)

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

此外,内联array_diff($keys, array_keys($mas));比其他程序员更容易调试,而不是查看代码以确切了解functionName()做了什么以及它位于何处。

答案 1 :(得分:0)

这取决于functionName实际上是什么。

如果您在整个代码中使用customerDetailsAreValid并且突然不得不添加$array['email']的验证,那么您将会对意图与实施的分离表示感谢。

另一方面,如果你将array_diff包裹在函数diffArray中,则没有多大意义。

答案 2 :(得分:0)

我认为在编写逻辑时,清晰度是一个主要问题,您希望它能在任何时间内存在。

总的来说,我厌恶内联函数。我认为他们很懒惰,推广意大利面条代码,并且一般来说,开发人员对样式/可读性/清晰度完全缺乏关注。

Filesize - 我发现这个论点很随意。 js文件被传输一次然后被传输。在许多情况下,您会发现所有添加到文件大小的描述性名称等(希望是评论)。如果大小非常重要,请使用文件最小化器,使文件尽可能小。

寻找功能?怎么样试图弄清楚在一个浩繁的docReady中发生了什么。 CTL-F通常会调用查找工具。

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

我的两分钱