제가 작성한 책의 코드들을 보시기 전에 아래의 규칙에 의해 책의 소스가 작성되어 있으니 미리 읽어 두셔서 코드 보시는 데 도움이 되셨으면 합니다.
비단 이 책뿐만 아니라 현업에서도 많이 통용되는 규칙이니 소개해 드리려고 합니다.
1 |
SVN에 소스를 커밋(업 로딩)은 반드시 컴파일 성공한 결과만 넣어야 합니다.
| ||||||||
2 |
소스 커밋 시 최대한 로그를 자세히 달아놓아야 합니다.
| ||||||||
3 |
코드 주석 오히려 코드 자체만으로 주석을 쓰듯 나타내는 코드가 좋은 코드라고 생각합니다. //TODO: 추가로 코드 작업을 해야 할 때 작성
| ||||||||
4 |
이 소스에는 컨벤션이 있습니다. 컨벤션을 맞춰서 작성되었으니 참고 바랍니다.
|
여기서 보이는 소스의 “if (a = b) {“ 와 같이 {를 내리지 않고 쓰는 스타일을 Egyptian Brackets이라고 불립니다. K&R 스타일인데, 제가 거쳐 왔던 회사가 모두 저런 스타일로 코드를 작성해서 제가 익숙하다 보니 그렇게 작성하였습니다.
(책 분량 조절도 해야 하고요)
또 많이들 클래스 맴버 변수에 m_ 나, 포인터라는걸 알리는 p 같은 헝가리안 표기법을 사용하시겠지만, 요즘 IDE에서는 변수의 타입을 바로 다른 창이나 툴 팁에 띄울 수 있고, 이러한 표기법은 가끔 코드 리더빌리티(code readability)를 떨어트릴 수 있어서 사용하지 않는 곳도 많습니다.
아래는 이와 관련 토론한 게시글인데, 한 번은 읽어 보시길 추천합니다.
https://kldp.org/node/46915
표기법은 다른 책들에서 자주 나오는 헝가리안 표기법(pValue)이 대세를 이루기도 하지만,
여기서는 카멜 표기법(valuePointer), 생성된 코드는 스네이크 표기법(value_pointer)을 사용합니다.
익숙하지 않을 것 같다고 생각은 듭니다만, 회사에서는 회사 코드 스타일로 소스를 작성해야 다른 작업 하는 사람들도 헷갈리지 않으므로 미리 연습한다고 생각하시면 좋을 것 같습니다.
회사에서 이렇게 규칙을 정하는 이유는 코드 유지 보수 차원상 팀의 개개인의 제각각의 스타일을 통일하여 비상시 누구라도 다른 사람 feedback을 해주는 시스템을 갖추기 위함입니다.
뉴스에서 표준어를 사용하는 것과 같은 거로 생각해 주시면 좋을 것 같습니다.
위 내용은 제가 집필한 "게임 서버 프로그래밍 입문" 책의 내용중 일부 부분에 대한 내용입니다.
전체 소스 코드와 책 구입에 대해서는 http://rosagigantea.tistory.com/589 에 링크 시켰습니다
.'윈도우 서버에 대해서 > 서버 만들기' 카테고리의 다른 글
게임 서버 프로그래밍 입문 (5) - 라이브러리 (Random MT 함수) (0) | 2015.03.27 |
---|---|
게임 서버 프로그래밍 입문 (4) - 프로그램 유틸들 (0) | 2015.03.27 |
게임 서버 프로그래밍 입문 (2) - 개발 프로그램 설치편 (0) | 2015.03.27 |
게임 서버 프로그래밍 입문 (1) - 게임 서버 정의 (0) | 2015.03.27 |
윈도우 서버 프로그래밍(1) 작업의 모듈화 (0) | 2015.01.05 |