编码风格。短函数与内联代码[关闭]

问题描述 投票:0回答:3

各位程序员对于使用短函数和使用内联代码有何看法?

功能示例:

//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));
php coding-style
3个回答
3
投票

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

此外,对于其他程序员来说,内联

array_diff($keys, array_keys($mas));
的调试要容易得多,而不是通过查看代码来准确找出
functionName()
的作用及其位置。


1
投票

这取决于

functionName
实际上是什么。

如果您在整个代码中使用

customerDetailsAreValid
并且突然必须添加
$array['email']
的验证,您将会感谢意图和实现的分离。

另一方面,如果您将

array_diff
包装在函数
diffArray
中,那就没有多大意义了。


0
投票

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

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

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

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

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

我的两分钱

© www.soinside.com 2019 - 2024. All rights reserved.