例如:
module m_a
private
integer :: x, y
public :: x
end module m_a
module m_b
public
integer :: x, y
private :: y
end module m_b
显然,变量x
和y
在模块m_a
和m_b
中具有相同的范围。我的问题是从编程风格的角度来看哪一个更受欢迎?
在Fortran 90/95的大多数教程中,采用了模块m_a
的样式。但是,对于包含数百个模块的复杂层次结构的大型项目,我注意到sytle m_a
的编译时间明显长于样式m_b
的编译时间。
我还没有找到类似的话题。也许我在模块层次结构中误用了public/private
语句?有什么建议吗?
答案 0 :(得分:6)
首选样式m_a,默认为私有,并且项目显式声明为public。通过这种方法,程序员可以容易地识别模块导出(公共)哪些项目。使用另一种方法,很难弄清楚这些信息。协助程序员理解模块比编译时更重要。