본문 바로가기
번역/Bjarne Stroustrup's C++ Style and Technique FAQ

Can you recommend a coding standard?

by 겜게준 2018. 1. 30.

코딩 표준을 추천해 주실 수 있으신가요?


The C++ Core Guidelines(링크) 입니다.


다른 개발자들에게 효과적인 모던 C++ 스타일을 소개하고 이 규칙을 지킬 수 있도록 도와주는 도구를 제공하기 위해 진행중인 프로젝트가 있습니다.


이 프로젝트는 사람들에게 성능을 떨어뜨리거나 장황하게 코드를 일일이 추가하는것 없이 C++을 완전히 type- and resource-safe[각주:1]한 언어로 사용하도록 권장하고 있습니다.


C++ 코딩 표준의 핵심은 특정 환경에서 특정한 목적을 위해 C++을 사용하기 위한 일련의 규칙들을 규정하는 것 입니다. 그리고 이 규칙들은 모든 용도와 모든 사람들에 대해 하나의 코딩 표준는 있을 수 없다는 점을 따르고 있습니다. 주어진 어플리케이션( 혹은 회사, 적용분야 등)에서, 좋은 코딩 표준은 코딩 표준이 없는것 보다 낫습니다. 한편, 나쁜 코딩 표준이 코딩표준이 없는것 보다 더 나쁘다는것을 입증해주는 수많은 예시들을 보아왔습니다.


C 코딩 표준을 쓰지 마시고(C++을 위해 조금 수정됬다 하더라도), 10년전 옛날 C++ 코딩 표준을 쓰지 마세요(그 시대때에 좋았어도요). C++은 C도 아니고 표준 C++은 사전 표준 C++[각주:2]이 아닙니다.



Yes: The C++ Core Guidelines. This is an ambitious project to guide people to an effective style of modern C++ and to provide tool to support its rules. It encourages people to use C++ as a completely type- and resource-safe language without compromising performance or adding verbosity. There are videos describing the guidelines project.

The main point of a C++ coding standard is to provide a set of rules for using C++ for a particular purpose in a particular environment. It follows that there cannot be one coding standard for all uses and all users. For a given application (or company, application area, etc.), a good coding standard is better than no coding standard. On the other hand, I have seen many examples that demonstrate that a bad coding standard is worse than no coding standard.


Don't use C coding standards (even if slightly modified for C++) and don't use ten-year-old C++ coding standards (even if good for their time). C++ isn't (just) C and Standard C++ is not (just) pre-standard C++.


  1. 타입 안전성과 자원 안정성을 보장하는 [본문으로]
  2. 현재의 표준 C++ 이전의 확립되기 전에 C++ 표준을 말하는 것 같습니다. 99 표준 이전을 말하는 것 같은데 아마 99도 포함해야 될 것 같습니다. [본문으로]

댓글