Linux 커널 코딩 스타일 가이드 요약

Source

  • Evernote/Inbox/Linux kernel coding style — The Linux Kernel documentation.md

Summary

이 문서는 리눅스 커널 개발에서 선호하는 코딩 스타일 가이드라인을 제시합니다. 주요 규칙은 다음과 같습니다: 1) 들여쓰기는 반드시 탭(8자)을 사용하며, 4자나 2자 들여쓰기는 권장하지 않습니다. 2) 줄 길이는 80자를 초과하지 않도록 하며, 가독성을 해치지 않는 범위 내에서 줄바꿈을 합니다. printk 메시지 등 사용자 가시 문자열은 절대 끊지 않습니다. 3) 중괄호({})는 함수 정의 시 다음 줄에 위치하고, 그 외(if, switch, for 등) 제어문에서는 같은 줄 끝에 위치합니다(K&R 스타일). 4) 키워드(if, switch 등) 뒤에는 공백을 하나 띄우지만, sizeof, typeof 등 함수처럼 보이는 연산자 뒤에는 공백을 띄우지 않습니다. 5) 불필요한 중괄호 사용은 피하되, 조건문의 한쪽 분기만 단일 문장일 경우 양쪽 모두 중괄호를 사용합니다.

Key Points

  • 들여쓰기: 탭(8자) 강제 사용. 80자 너비 터미널 가독성 및 깊은 중첩 경고 목적.
  • 줄 길이: 80자 제한 준수. printk 등 grep 대상 문자열은 절대 줄바꿈 금지.
  • 중괄호 위치: 함수는 다음 줄, 그 외 제어문(if/switch/for)은 같은 줄 끝(K&R 스타일).
  • 공백 사용: 키워드(if, while 등) 뒤에는 공백 1개, sizeof/typeof 등에는 공백 없음.
  • 중괄호 생략: 단일 문장일 경우 중괄호 생략 가능. 하지만 if-else 중 한쪽만 단일 문장일 경우 양쪽 모두 중괄호 필수.
  • 가독성 우선: 복잡한 표현식 피하기, 한 줄에 여러 문장 금지, 줄 끝 공백 제거.