개요

IRC 에서 코드를 통일하고 버그를 줄이기 위해서 코딩 스탠다드를 문서로 따로 만들었습니다.

주석 자동 문서화 결과물은 아래 있습니다

https://ria9993.github.io/IRC_server/annotated.html

Assert와 Assume 항목은 아래 구현해둔 코드를 참조하세요

https://github.com/Ria9993/IRC_server/blob/main/Source/Core/MacroDefines.hpp


Coding Standard

Precondition / Postcondition

  1. 모듈 외부로 노출되는 인터페이스가 아니라면 모듈 내부 코드의 매개변수와 반환값은 언제나 유효해야 합니다.
  2. 매개변수는 기본적으로 Null이 허용되지 않습니다.
  3. 반환값은 Null이 허용됩니다.

Maintenance

  1. Precondition에 가정하여 작성하는 코드라면 AssertSTATIC_ASSERT를 모든 곳에 사용합니다.
  2. 표준 assertstatic_assert 대신 별도로 구현한 Assert(exp), STATIC_ASSERT(exp)를 사용합니다.
  3. 재사용하지 않는 코드일 경우 함수로 작성하는 것을 되도록 지양합니다.
  4. const를 최대한 사용합니다.