如何使长参数列表可读?

dsi*_*cha 4 coding-style readability

我已经开发出对函数中长参数列表的自然厌恶.虽然这在某种程度上是一件好事,但有时长参数列表与代码重复或由于"手动内联"而导致的冗长功能相比,是两个邪恶中的较小者.什么是至少使这些怪物具有人类可读性的好方法?例如:

SomeClass[string] someFunction(SomeClass!(TemplateParam) foo, 
    string[][string] someAA, uint[] dataToProcess, SomeEnumType flag) {
    // Do stuff.
}
Run Code Online (Sandbox Code Playgroud)

这在可读性等级上得分不高,但在很多情况下,四个参数非常合理.

Aar*_*ron 7

对于这种情况,我倾向于将其格式化为:

SomeClass[string] someFunction(
    SomeClass!(TemplateParam) foo, 
    string[][string] someAA,
    uint[] dataToProcess,
    SomeEnumType flag
)
{
    // Do stuff.
}
Run Code Online (Sandbox Code Playgroud)