我正在重构一个大程序,现在我得到了许多小程序,有很多参数来回传递的函数。由于我希望保持相同/相似的性能和可重构的重构,我试图了解什么是最好的方法,所以我不打破代码。
这些新功能最常见:
function ProcessA(const ProjName,ProjPath:string;
ProjID:integer;
var ProjDest:string):string;
function ProcessB(const ProjName,ProjPath:string;
const ProjID,ProjHID,ProjGID:integer;
var ProjDest:string;
out ProjDelPath:string):string;
我读了很多关于const,var,out参数的文章。我应该首先订购所有const,然后全部正常,然后var和last out ...
它们的顺序是否重要?
修改
为了澄清为什么这个问题或者有人使用相同的问题,我使用IDE的 Refactor / Extract Method 功能做得很好,但它没有任何意义到位。所以,当我重新排序和更改参数名称时,我看到了没有标准的参数类型顺序的问题。
答案 0 :(得分:8)
参数类型的顺序并不重要,只有一个例外;默认参数(例如fn(AFloat: single; AInt:integer = 0): integer;
),这意味着如果您对默认值感到满意,则不必为AInt
传递任何内容。这些参数必须位于参数列表的末尾,并且只能从末尾省略。
您可以阅读有关参数here的更多信息。