Norminette
- norm이라 불리며 42의 c 컨벤션.
- 42Paris 캠퍼스에 있는 고양이 이름이기도 함. (고양이가 소스 더럽다고 훈수두는 느낌)
- c 코드가 컨벤션에 맞게 작성되었는지 검사해주는 검사 프로그램이 있다.
- 42에서는 모든 c코드를 norminette 컨벤션에 맞춰서 작성해야한다. 그렇지 않으면? 기계체점 자체가 안 돌아감... → 과제를 0점 받음. → 리트라이 해야함.
얼마나 악독한가?
존재 이유
- 코드 형식을 동일화 하고 표준화시켜 누가 봐도 읽기 쉽게 하기 위하여 (42 한정)
- 짧고 간단한 코드를 작성하기 위해 → norm 때문에 더러워지는 경우가 너무 많아 이해 안 감...
Norm 규정
- 자잘하고 일반적인 네이밍, 코딩 컨벤션들은 생략...
- 전역 변수를 사용할 때에는 확실한 이유가 있어야 한다 → 대부분 전역 변수 없이 해결 가능하므로 디펜스 과정에서 반박불가, 전역 변수 쓰지 말라는 뜻
- 헤더파일은 헤더가드가 되어있어야 함
- 함수 안에 주석 금지, // 주석 사용 금지, 그지 같은 코드를 정당화하는 용도로 주석 사용 금지, 함수 선언 상단에 주석은 허용된다. →
솔직히 이해 안 됨... (코드에 주석 좀 쓰게 해줘 ㅠ)
- 모든 줄(주석도 포함)은 80자 이하여야 한다. (예전 모니터 크기가 25*80 이었다고 함)
- 모든 함수는 함수 선언에 사용되는 중괄호 제외하고 25줄 이하여야 한다. (예전 모니터 크기가 25*80 이었다고 함)
- 확인
- 확인2