如何在方法定义中缩进方法参数


How to indent method paramaters in a method definition

大多数时候,当我需要将一些代码包装到下一行时,我有一种首选的方法。例如,当调用我喜欢的方法时:

someMethod(
    param1,
    param2,
    param3
);

但当它是一个方法定义时,我找不到一种直观的阅读方式。例如

function someMethod(
    param1,
    param2,
    param3) {
    // code here. 
    // Problem : The parameters are indented at the same level as the code
}
function someMethod(param1,
                    param2,
                    param3) {
    // code here
    // Looks ugly. Pain to re-factor
}
public function someMethod(param1, param2, param3
         param4, param5, param6) {
    // code here
    // I've included public to show that I am using 8 spaces here and not
    // lining up with the end of the function keyword.
 }

我倾向于最后一个例子,但对它不太满意。它与末尾的大括号一样工作,但如果大括号与function关键字一致,它看起来很难看。例如

function someMethod(param1, param2, param3) 
         param4, param5, param6)
{
    // code here
}

编辑:我主要是问PHP,但我在其他语言中也遇到过这个问题。

我建议您遵循编码标准。有很多好的和受欢迎的。

在我的特殊情况下,我用PHP编程,所以我想到了Zend和Pear。此外,如果您不是在团队中编程,那么编码风格主要是您的特定品味一致性

无论如何,在这些标准中,他们推荐这样的东西:

function somemethod(param1, param2, param3
    param4, param5, param6
) {
}