구현파일 기준으로


1. 구현할 헤더

2. 시스템 헤더

3. 부스트 헤더

4. 부스트 아닌 서드파티 헤더

5. 프로젝트 헤더


이렇게 순서 정해놓고 쓰는데

하다보면 시스템 헤더들이 많이 들어가는 경우가 있어서 이 안에서의 순서가 고민입니다


나름대로는

1. C 헤더 대응 헤더

2. 유틸리티성 헤더(utility, type_traits 등)

3. 알고리즘 관련 헤더(algorithm, numeric, functional 등)

4. 콜렉션 헤더(string, vector, map 등)

5. 기타 독립적으로 기능하는 헤더(chrono 등)

6. 스트림 헤더(iostream, sstream 등)


이 순서로 하고 있는데 생각보다 애매한 것도 많네요

(예를 들어 tuple 헤더는 콜렉션 헤더에 넣어야하나 싶은데 이게 STL 콜렉션이랑은 설계가 아예 다르잖아요?)


집착을 버리고 걍 알파벳 순서로 할까싶기도 한데 혹시 자신만의 기준 같은거 있으신가요