읽기 쉬운 코드가 좋은 코드다.
- 제목: 좋은 코딩 나쁜 코딩
- 저자: 박진수
- 출판사: 한빛미디어
- 기간: 2015.09.28~2015.09.30
키워드
코딩 스타일(Coding Style)
- 논리를 표현하는 방식
- 알고리즘을 표현하는 방식
- 문장을 표현하는 방식
- 표현식을 표현하는 방식
본것
- 함수와 함수 사이는 빈줄을 추가하여 가독성이 좋게 한다.
- 프로그램의 주석에는
작성자
,파일명
,목적
,사용방식
,사용 파일
,제한사항
,오류처리
,이력사항
을 포함하도록 한다. while
문의 조건 판별부에 대입 연산을 사용하지 않는다.- 연산자 우선 순위만 믿지말고 괄호를 적용하라.
- 나눗셈 연산에는 주의하라
- 변수명 및 함수명을 정의 할 때는 주의해서 작성하라.
깨달은것
C언어 스타일의 가이드로 되어 있어 보기도 편했고 모르던 내용도 많이 있어 도움이 되었다.
그렇지만 책이 나온지 10년정도 되어서 코딩 가이드에 약간의 변화가 있을 수도 있을 것 같다. 최근에 본 코딩 스타일 가이드 강좌(https://cleancoders.com/) 에서 나오는 내용과 상반되는 내용이 많이 있다.
책의 저자 및 클린코드의 강사중 어느 쪽을 반드시 따라야 한다는 규칙은 없을 것 같다. 자신 또는 팀의 성격에 맞는 방식을 따르면 좋을 것 같다는 생각이다.
예를 들면 책의 내용중에 버전 변경 이력에 대한 내용을 작성자
, 변경일
, 변경내용
을 기록해야 한다고 설명되어 있다. 그렇지만 클린코드의 저자는 변경 내용에 대한 이력 관리는 버전 관리 시스템에서 하기 때문에 소스코드에 불필요한 내용을 적지 않아도 된다는 내용을 설명한다.
그리고 변수에 대한 주석도 상반된다. 코드를 이해할 수 있다면 별도의 주석을 필요 없다는게 클린코드의 설명이고, 저자는 변수에 주석을 달아 놓으면 다른 사람이 작업할 때 훨씬 편리하다라는 내용이다.
코딩 스타일에 관한 자료를 검색하다가 가장 마음에 와닿는 글을 게시한 블로그가 있었다.(주소는 생각나지 않음)
그 블로그에서는 주석을 달기 전에 자신이 작성한 코드에 혼란을 일으킬 수 있는 부분이 있는가 또는 자신의 코드의 잘못된 부분을 인식시키기 위해 주석을 작성할 것인가를 생각해보고 주석을 추가하라고 한다.
개인적으로 블로그에 나온글이 맘에 든다.
Objc 로 코딩을 하다보니 viewWillDisappear()
, viewDidLoaded()
와 같은 함수와 TableView를 구현하기 위해 상속받는 함수들의 이름이 짧지 않고 함수명에 이 함수는 무엇이다라는 것을 정의한 것처럼 작성이 되어 있다. viewWillDisappear()
함수는 뷰가 사라질 것이라는 의미를 함수명에 내포하고 있어서 LifeCycle을 확인하지 않아도 대략적인 시점을 예측할 수 있다.
함수명이 무조건 길어진다고 좋은 것만은 아니지만 가독성에 도움을 준다면 어느정도의 길이는 상관이 없다고 생각이 된다. 그리고 최근에는 IDE 환경이 좋아서 소스 코드 전체를 키보드로만 입력하지 않아도 되기 때문에 가능한 일인것 같다.
적용할 것
- 현재 작성중인 코드의 변수명 및 함수명이 어떤 내용을 의미하는지를 내포하고 있는지 확인한다.
- 최신의 코딩 스타일이 무엇인지 확인한다.
- 본문에 포함된 코드중 이해가 안되는 코드는 실행해본다.