注意
这是一个活文档。欢迎您通过创建一个 问题 来提出对该工作流程的更改建议。
采用一致的风格可以通过选择良好的命名约定来提高代码的可读性。此外,在 CI 期间将运行风格检查以标记任何严重的不符合项。这使得代码审查讨论能够专注于语义和实质内容,而不是拘泥于细节。一致的空格使用,以及避免在行尾使用尾随空格,使 git diff
更易读。本风格指南是一个活文档,经过讨论并达成共识后,可能会采纳建议的更改。
common
、pause
、entry
、算术 if
和计算 goto
real*8
或 etime()
program
、module
或 submodule
.f90
或 .F90
(如果需要预处理)。_implementation
结尾 例如:string_class.f90
和 string_class_implementation.f90
test
子目录中,并与它们测试的模块具有相同的名称,并添加 test_
前缀 例如:string_class.f90
和 test/test_string_class.f90
通过设置和遵循缩进和空格的约定,代码审查和 git-diffs 可以专注于所提议更改的语义,而不是风格和格式。
has_failed
比 hasfailed
更可取linspace
比 lin_space
更可取intent
。dimension
属性来声明数组,因为它过于冗长。使用以下方法real, allocatable :: a(:), b(:,:)
real, dimension(:), allocatable :: a
real, dimension(:,:), allocatable :: b
dimension
用作例外。optional
属性来声明虚拟参数,则它应位于 intent
属性之后。Fortran 允许在结束语句中包含程序单元的名称,以包含某些块结构或范围。此处采用的约定是在 end
语句中包含过程名称、module
名称和 program
名称,除非关闭语句可以合理地预期在同一屏幕或页面上,大约 25 行内。
所有公共和受保护实体及其参数或参数应提供文档字符串。目前,这是使用 FORD 工具 完成的。有关编写 FORD 风格文档的帮助,请参阅 FORD wiki。以下两节与贡献新代码最相关
要编写新提案的“规范”(规范),请将其放在 FORD “页面” 目录中,位于 doc/specs/
。要获得帮助,请参阅 “编写页面” 和 “编写文档” 页面,位于 FORD wiki。