Fortran风格指南#

命名约定#

虽然如何命名取决于个人偏好,但是我们在这里给出一份我们喜欢的, 并且在很多科学计算代码(以及Fortran standard library)中流行的风格。欢迎你也使用这一风格。

  1. 在所有Fortran结构中使用小写字母(dosubroutinemodule、…)。

  2. 遵循数学变量/函数的简短数学符号(YlmGammagammaEnlRnl、 …)。

  3. 其它的名字全部都用小写字母:尽量让名字为一到两个音节; 如果需要更多音节,则用下划线使其看着清晰(sortpairwhitecharmeshexpnumstringslinspacemeshgridargsortsplinespline_interpspline_interpolatestoperrstop_errormeshexp_der)。

例如,“样条插值(spline interpolation)”可以缩短为 spline_interpolationspline_interpolatespline_interpspline,但不能缩短为 splineint(“int”可能意味着积分、整数等 — 太多的歧义,即使在清晰的计算代码上下文中也是如此)。这与 get_argument() 形成对比,使用 getarg() 简洁明了。

以上是一般性准则。一般来说,选择正确的名字主要取决于,被截断的单词取第一个音节是否足够。显然,通常情况并非如此。 因此,需要考虑下一步“尽量报持名称在2个音节或更少”,因为这确实可以影响表意和简单性。 简单且一致的命名规则在以下情况起到很大的帮助——与别人协作编码,或回顾自己有较长时间没有关注过的历史代码。

缩进#

使用一致的缩进使你的代码可读。缩进的数量是一个个人偏好的问题,最常见的选择是两个、三个或四个空格。

与其它语言的比较#

另一方面,在其它的、大部分的编程世界,主要重点是以这样或那样的形式定义和使用大量复杂对象, 其中有数以“吨”计的属性和行为,仅在定义它们的代码位置处才能知道(而不是在整个文档中使用相同的符号定义), 使用更长、更具描述性的命名更有意义。因此,人们看到在更通用的编程语言(如C++和Python)中使用的命名约定 与它们更通用的任务保持完全一致。但是Fortran有不同的使命(数值科学计算)。