C모듈을 만들 때 다음과 같은 파일 규칙을 사용한다.
헤더 파일
- 모듈의 인터페이스 정의
- 단일 인스턴스 모듈의 헤더 파일은 함수 프로토타입만으로 구성
- 추상 데이터 타입의 경우에는 함수 프로토타입 외에 전방 선언된 구조체의 포인터를 typedef 한 것도 추가된다.
- 구조체 정의를 감추어서도 모듈의 상세 데이터를 감춘다.
- 단일 인스턴스 모듈의 헤더 파일은 함수 프로토타입만으로 구성
- 추상 데이터 타입의 경우에는 함수 프로토타입 외에 전방 선언된 구조체의 포인터를 typedef 한 것도 추가된다.
- 구조체 정의를 감추어서도 모듈의 상세 데이터를 감춘다.
소스 파일
- 인터페이스 구현부 포함
- 필요에 따라 비공개 도움 함수와 데이터도 포함
- 모듈 구현부는 모듈 데이터의 무결성을 관리한다.
- 추상 데이터타입의 경우에는 전방 선언한 구조체를 소스 파일에서 정의한다.
테스트 파일
- 테스트 케이스를 포함한다.
- 각 모듈에는 적어도 하나씩 테스트 파일이 포함된다.
- 테스트 파일 하나에 테스트 그룹을 하나씩 포함시키는 것이 보통이지만 가끔은 여러개의
테스트 그룹을 포함시키기도 한다.
-테스트 그룹은 그룹에 속하는 모든 테스트들에서 공통적으로 사용되는 데이터에 따라 나누어
진다.
- 설정이 서로 많이 다른 테스트 케이스들은 별도의 테스트 그룹으로 나누고, 필요하다면 별도 의 테스트 파일로 떼어낸다.
모듈 초기화/정리 함수
- 숨겨진 데이터를 관리하는 모든 모듈에는 초기화 함수와 정리 함수가 있어야 한다.
- 추상 데이터 타입이라면 그 내부가 완전히 감춰졌기 때문에 초기화 함수와 정리 함수가 반드시 필요하다.
댓글 없음:
댓글 쓰기