직교 모듈 변수의 사용으로, (특정 파생 형으로 분류되는 몇 가지 방법에 관련된 값) "값 수백"그룹화하여 하나 이상의 도출 된 타입의 사용을 고려.
(더 기본적인 수준, 오히려 스칼라의 시리즈에 비해 배열의 정보 때때로 표현에서 그 정보의 성격에 더 적합하다 - 그래서 저장하고 배열에서 해당 정보를 전달합니다.)
이가 있습니다 프로그램의 정보 흐름을 이해하는 것이 훨씬 쉽습니다. 프로 시저 참조 사이트에서 코드를 읽는 누군가는 참조 된 프로 시저가 액세스 할 수있는 모듈 및 모듈 변수를 반드시 알지 못합니다. 어떤 경우에는 미래에 프로그램을보다 쉽게 확장 할 수 있습니다. 일련의 모듈 변수가 아닌 파생 된 유형으로 설명되는 경우 여러 기존 인스턴스를 갖는 것이 더 쉽습니다.
그래서 대신 :
SUBROUTINE proc(temperature, pressure, &
composition_a, composition_b, composition_c)
REAL, INTENT(IN) :: temperature, pressure, &
composition_a, composition_b, composition_c
...
이 고려 : 다른 경우에는
TYPE State
REAL :: temperature
REAL :: pressure
REAL :: composition(3)
END Type State
...
SUBROUTINE proc(system_state)
TYPE(State), INTENT(IN) :: system_state
...
모듈 변수가 아니라 더 적합 할 수 있습니다 - 분할은 판단의 문제이다.
도움 주셔서 감사합니다. 모듈에서 본 교과서 예제의 많은 부분에서 모듈은 매개 변수를 보유하기 위해 독점적으로 사용되었으므로 값을 모듈에서 명시 적으로 선언하고 다른 곳에서 가져 오지 않아야한다고 가정했습니다. – frostbyyte