Skip to content

djlim2425/Hanpotamia

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hanpotamia

Civilization at Han River
한강 문명 : 종의 기원


Team

[표]


  • Sejong University Problem And Solving C++ (prof. 안용학)
  • 최종 팀 프로젝트

프로젝트 제안서 / 중간 보고서 link


Class

1차 견본

readmeimage/class_architecture.png


2차 견본


VS

  • Visual Studio 2019
  • Hanpotamia Game 의 Server

LAB

  • python 기반의 Hanpotamia Game 의 GUI Client

Dependencies

  • python 3.6
  • pygame

이름 규칙

참조

  • NHN/C++ 코딩 규칙
  • 안용학 교수님이 수업에서 언급했던 규칙
  • Google C++ Style Guide

파일명

  • 지금 하고 있는 프로젝트의 컨벤션, 안용학교수님의 컨벤션에 따른다.
  • 클래스를 설계하는 경우, 파일 앞에 대문자 C 를 붙인이고, 대쉬 (-) 를 붙이고, 대표 class 이름으로 사용하며, C 를 제외하고는 소문자와 언더바를 사용한다. ex : C-rect_base
  • 테스트용 (실행 파일) 의 경우, Test- 를 가장 처음에 포함한다. ex : Test-rect_base
  • 파일 이름에 대쉬(-) 를 두 개 이상 사용하지 않는다.

함수명

  • 일반적인 함수는 소문자로 시작하며, 각 새로운 단어마다 대문자를 사용한다. 언더라인은 사용하지 않는다. ex : myExcitingFunction()
  • 접근자와 수정자(get, set)는 변수 이름과 일치시킨다. ex : set_myExcitingMemberVariable()
  • True/False 값을 return 하는 경우, 함수 이름은 is 혹은 has 로 시작한다. ex : isHungry()
  • private 함수 이름은 언더바(_) 로 시작한다. ex : _dontTouchMe()

타입명

  • 타입명은 대문자로 시작하며, 각 새로운 단어마다 대문자를 갖으며 언더라인을 사용하지 않는다. ex : MyRectangle

변수 및 상수명

  • 변수명은 소문자로 시작하며, 소문자와 언더바만 사용한다.
  • static 멤버 변수의 경우 's_' 으로 시작한다. ex : \s_my_exciting_static_variable
  • const 멤버 상수는 'k_' 로 시작하며 대소문자를 섞어서 사용한다. ex : \k_days_in_a_week
  • 그 외 private 멤버 변수 및 private 함수는 '_' 로 시작한다. ex : _my_private_variable
  • 이름은 가능한 설명적으로 짓는다. 공간 절약이 중요한 게 아니라, 코드를 즉시 보고 이해할 수 있어야 한다. ex : num_completed_connections
  • 모호한 약어나 의미를 알 수 없는 임의의 문자를 사용하지 않는다. ex : nerr (?)
  • 구조체의 데이터 멤버는 일반적인 변수처럼 이름을 짓는다. 클래스처럼 언더라인으로 끝나지 않는다.
  • 전역 변수는 특별한 요구사항이 없으며, 거의 사용을 하지 않는다. 만약 사용한다면, 'g_'로 시작하거나 로컬 변수와 구별되는 표시를 한다.

기타

  • 들여쓰기는 Tab 을 사용한다.
  • 간단한 생성자 초기화는 콜론 초기화로 한다.
  • 이항 연산자 (=, >, <, 등..) 앞과 뒤에 공백을 제공한다. ex : a = b + c
  • 단항 연산자 앞과 뒤에 공백을 제공하나, (A++), [--BB], {--KK}와 같이 사용할 때는 공백이 없어도 좋다.
  • 일부 연산자(“ , “, “ ; “)는 연산자 뒤에 공백을 제공해야 한다. ex : for( i = 0; i < 3; i++)
  • brace( { )는 분리된 라인에 작성한다.

class People
{
// 내용
}
void main()
{
// 내용
}
struct DataStructure
{
// 내용
}

예시

class People
{
  private:
  int _age;
  
  public:
  int get_age();
  void set_age();
  void giveAge();
}

About

Civilization at Han River

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 80.6%
  • Python 19.0%
  • Other 0.4%