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