프로그래밍 일반/C++ Core Guildlines 4

C++ Core Guidlines 함수

함수 정의 규칙: F.1: 의미있는 동작들을 "묶어서" 함수로 만들고 신중하게 이름을 지어라 F.2: 함수는 하나의 논리적 동작만 수행해야 한다 F.3: 함수는 간결하고 단순하게 유지하라 F.4: 함수가 컴파일 시간에 평가되어야 한다면 constexpr로 선언하라 F.5: 함수가 매우 짧고 수행시간이 중요하다면 inline으로 선언하라 F.6: 함수가 예외를 던지지 않는다면 noexcept로 선언하라 F.7: 보편성을 고려한다면, 스마트 포인터 대신에 T*나 T& 타입의 인자를 사용하라 F.8: 순수 함수를 선호하라 F.9: 사용되지 않는 인자는 이름이 없어야 한다 매개변수 전달 표현(parameter passing expression) 규칙: F.15: 정보를 전달 할 때 단순하고 관습적인 방법을 선호..

C++ Core Guidlines 인터페이스

Interface I.1: 인터페이스는 명확하게(explicit) 작성하라 I.2: const가 아닌 전역변수를 지양하라 I.3: 싱글톤 패턴을 지양하라 I.4: 인터페이스가 타입 시스템을 정확하고 엄격하게 준수하도록 만들어라 I.5: (하나라도 있다면) 사전 조건을 기술하라 I.6: 사전 조건을 표현하고 싶다면 Expects()를 사용하라 I.7: 사후 조건을 기술하라 I.8: 사후 조건을 표현하고 싶다면 Ensures()를 사용하라 I.9: 인터페이스가 템플릿이라면 컨셉(Concept)을 사용해서 매개 변수를 문서화하라 I.10: 요구된 작업의 수행 실패를 알리기 위해 예외를 사용하라 I.11: 원시 포인터(T*) 혹은 참조(T&)를 사용해 소유권을 전달하지 마라 I.12: null이 되어선 안되는 ..

C++ Core Guidlines 철학

P.1: 아이디어를 직접 코드로 표현하라 P.2: ISO 표준 C++로 작성하라 P.3: 의도를 표현하라 P.4: 이상적으로 프로그램은 정적으로 타입 안전해야 한다 P.5: 런타임 검사보다는 컴파일 타임 검사를 선호하라 P.6: 컴파일 타임에 검사할 수 없다면 런타임에 검사할 수 있어야 한다 P.7: 런타임 오류는 초기에 잡아라 P.8: 리소스가 새도록 하지 마라 P.9: 시간이나 공간을 낭비하지 마라 P.10: 변경 가능한 데이터보다 변경 불가능한 데이터를 더 자주 사용하라 P.11: 복잡한 생성과정은 캡슐하라 P.12: 지원 도구를 적절히 활용하라 P.13: 지원 라이브러리를 적절히 활용하라 아이디어를 직접 코드로 표현해라 첫번째 month 함수는 명확히 Month를 반환하도록 선언되어 있으며, Da..

C++ Core Guidlines 소개

C++ 표준 위원회에서 작성한 C++ 핵심 가이드 라인입니다. C++ Core Guidelines는 비야네 스트롭스트룹이 주축이 되어 작성되었으며 작성되고 있습니다. 이 가이드 라인의 목적은 사람들이 모던 C++을 효과적으로 사용하도록 돕는 것입니다. 원문 : https://github.com/isocpp/CppCoreGuidelines isocpp/CppCoreGuidelines The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++ - isocpp/CppCoreGuidelines github.com 한글화 : https://github.com/CppKorea/C..