const、var、out 参数的顺序重要吗?

Does the order of const, var, out parameters matter?

我正在重构一个大过程,现在我得到了很多小过程,带有大量参数来回传递的函数。因为我想保持 same/similar 的性能和可维护的重构,所以我试图了解什么是最好的方法,这样我就不会破坏代码。

这是这些新功能最常见的样子:

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,然后是所有 normal,然后是 var,最后 out...

它们的顺序重要吗?


编辑:

为了澄清问题的原因或者如果有人使用相同的这个,我使用 IDE 的 Refactor/Extract 方法 功能做得很好,但它对它设置的参数毫无意义。因此,当我重新排序和更改参数名称时,我发现了参数类型没有标准顺序的问题。

参数种类的顺序无关紧要,但有一个例外;默认参数(如 fn(AFloat: single; AInt:integer = 0): integer; ),这意味着如果您对默认值感到满意,则无需为 AInt 传递任何内容。这些参数必须在参数列表的末尾,并且只能从末尾省略。 您可以阅读有关参数 here.

的更多信息