'단순한 코드가 좋은 코드다. 성공하는 프로그래머 128가지 코딩 습관' !! 이란, 소 주제를 가지고 나온 책이다.
1장. 시작하기 전에 코딩 스타일이란 무엇인가 코딩 스타일 교육이 부족하다 코딩 스타일을 익혀야 할 시기 코딩 스타일을 배워야 하는 이유 코딩 스타일은 수학이나 영어보다 더 중요하다 모든 언어에 코딩 스타일이 필요하다 C 언어로 코딩 스타일을 설명하는 이유 코딩 스타일은 컴파일 방식과 하이브리드 방식에 유용하다 컴포넌트 기반 개발 방식과 코딩 스타일 코더의 역량이 중요하다 코딩 관례를 문서화해 두고 통일되게 적용하라
2장. 프로그램 설계 시에 알아야 할 좋은 코딩 습관 최신 표준을 따르라 개발 인원을 적정한 규모로 한정하라 프로그램을 새로 만드는 경우보다 유지보수하는 경우가 많다 프로그램을 쉽게 수정할 수 있다는 생각을 버려라 새로운 기법을 도입할 때는 신중하라 'Run and Fix' 전략을 피하라
3장. 띄어 쓸 때 좋은 코딩 습관 한 줄에 한 문장만 쓰라 선언문과 실행문을 구분하라 단락을 구분하라 제어문들 사이를 구분하라 함수들 사이를 구분하라 연산자의 앞뒤로 빈 칸을 둬라 단항 연산자를 피연산자와 띄어 쓰지 마라 세미콜론 앞에 공백을 두지 마라 탭을 남용하지 마라 특히 쉼표 뒤에 빈 칸을 둬라 쉼표 뒤에 너무 많은 빈 칸을 두지 마라 변수 초기화 시 줄을 맞춰라 한 줄에 변수 한 개만 선언하라
4장. 들여 쓸 때 좋은 코딩 습관 중괄호 위치 중괄호 위치를 통일시켜라 내부 블록을 들여 써라 피제어부를 들여 써라 쓸데없는 들여쓰기를 하지 마라 들여 쓰는 정도를 일정하게 하라 들여 쓰는 깊이를 적당하게 하라 내어쓰기를 하지 마라
5장. 주석을 작성할 때 좋은 코딩 습관 다양한 주석 형태 한 줄 주석과 주석 상자를 구분하라 변수 사전 작성용 주석을 달아라 의사코드를 프로그램에 기입하라 프로그램의 목적을 주석으로 달아라 프로그램의 앞부분에 머리 주석을 반드시 달아라 상등 연산자 옆에 주석을 달아 두자 닫는 중괄호에 주석을 달아라 함수를 충분히 설명하는 주석을 함수 안에 달아라 주석 표기의 원칙
6장. 식별자 이름을 지을 때 좋은 코딩 습관 I 변수 이름을 체계적으로 지어라 헝가리안 표기법으로 변수 이름을 지어라 변수의 자료형을 변수 이름에 접두사로 표기하라 기억 부류를 접두사로 활용하라 함수의 역할을 접두사로 활용하라 자신만의 접두사를 만들어 활용하라
7장. 식별자 이름을 지을 때 좋은 코딩 습관 II 이름을 의미 있게 지어라 비슷한 변수 이름을 사용하지 마라 의미를 잃지 않는 범위에서 짧게 지어라 이름이 길면 밑줄 또는 대소문자로 구분하라 변수 이름을 밑줄로 시작하지 마라 밑줄을 과도하게 사용하지 마라 대소문자를 적절히 배합해 식별자 이름을 지어라 대소문자 구분을 악용하지 마라 I 대소문자 구분을 악용하지 마라 II 클래스 이름과 변수 이름을 같게 하지 마라 변수 이름 중 강조할 부분을 대문자로 처리하라
8장. 연산자를 사용할 때 좋은 코딩 습관 조건 연산자도 때로는 가독성을 높인다 연산자의 우선순위에 의존하는 식을 만들지 마라 포인터 연산자를 변수 이름에 붙여서 써라 시프트 연산을 지양하고 산술 연산을 하라 극단적으로 효율성을 추구하지 마라
9장. 명료한 프로그램을 만드는 좋은 코딩 습관 약삭빠른 코드 대신에 명료하고 이해하기 쉬운 프로그램을 작성하라 while 문에서 관계/대입 연산자의 우선순위를 혼동하지 마라 암시적인 'non zero test'를 하지 마라 조건식에 대입문을 사용하지 마라 부작용이 나타나지 않도록 주의하라 함수 원형에도 인수 자료형을 표기하라 가인수에도 이름을 기입하라 반환 자료형을 반드시 표기하라 결과값에 주의하라 for 문 등의 조건에서 연산하는 일을 지양하자 잉여 괄호를 아낌없이 사용하라 else 문에 중괄호를 사용했으면 if 문에도 쓰라 함수의 끝에 반드시 return 문을 적어 둬라
10장. 이식하기 쉬운 프로그램을 만드는 좋은 코딩 습관 파일 이름의 길이를 14자로 제한하라 파일 이름에 특수 문자를 사용하지 마라 조건부 컴파일을 활용해 이식성을 높여라 컴파일러의 한계를 인식하라 자료형의 크기가 달라질 수 있다는 점을 고려하라 절대 경로를 지정하지 마라 이식성과 효율성 중 어느 한쪽을 선택하라 포인터 대신 배열을 사용해 이식성을 높여라 가독성을 고려해 이식성이 좋은 언어를 선택하라 저수준 언어로 작성한 코드를 끼워 넣지 마라
11장. 정밀한 프로그램을 만드는 좋은 코딩 습관 컴퓨터는 생각보다 정밀하지 않다 정밀한 계산이 필요하다면 부동소수점 연산을 피하라 정밀한 계산에는 float형보다 double형을 사용하라 정수형의 크기를 확인하라 계산 단위를 반드시 명시하라 나눗셈 연산에는 주의를 기울여라 자료형의 변환이 이루어지지 않도록 하라 확실하게 문법을 익혀 둬라 계산 결과가 선형으로 나오지 않을 수 있다는 점에 주목하라
12장. 성능 향상을 위한 좋은 코딩 습관 성능이 중요하다면 출력을 자제하라 연산을 단순한 형태로 바꿔라 효율성이 요구되는 큰 파일을 다룰 때는 바이너리 파일을 사용하라 팩키드 구조체와 언팩키드 구조체의 장단점을 인식하고 사용하라 실행 환경을 고려해 언어를 선택하라 상황에 맞는 수단을 선택하라 더 나은 자료 구조를 선택하라
13장. 이해하기 쉬운 프로그램을 만드는 좋은 코딩 습관 goto 문을 사용하지 마라 C의 구성 요소를 치환하지 마라 긴 자료형 이름을 짧게 바꿔 사용하라 3항 연산자보다는 if 문을 사용하라 배열의 차원을 3차원으로 한정하라 구동 함수인 main 함수의 역할을 생각하라 상수를 기호 상수나 const 형태의 상수로 대체해 사용하라 변수 선언부를 배치할 때 순서를 고려하라 될 수 있으면 전역 변수를 사용하지 마라 KISS 원칙을 지켜라
14장. 사용자 인터페이스를 처리할 때 좋은 코딩 습관 입력값을 저장할 변수의 크기를 충분히 확보하라 변환 지정자와 매개변수의 개수를 일치시켜라 scanf() 함수보다는 fgets()와 sscanf() 함수를 사용하라 fflush() 함수를 사용해 표준 입출력 장치의 버퍼를 비워라
15장. 오류 없는 프로그램을 만드는 좋은 코딩 습관 배열의 첨자는 0부터 시작한다는 것을 잊지 마라 치환 문자열을 반드시 괄호로 씌워라 파일을 열었다면 반드시 닫아 둬라 컴파일러의 경고(warning error)를 무시하지 마라 런타임 오류를 인식하고, 그것이 발생하지 않도록 코드를 작성하라 배열이 큰 경우에는 정적 변수로 선언하라 기억 공간을 충분한 크기로 정해 둬라 메시지 교환에 의한 창발 효과에 주의하라
16장. 생산성 향상을 위한 좋은 코딩 습관 상충 관계 중 어느 쪽을 추구할지를 미리 정해 둬라 신중하게 최신 도구를 적용하라 표준 라이브러리 정도는 모두 외워라 코드 블록을 최대한 쪼개라 용어를 명확히 구분하라 구조체, 열거체, 공용체 용어를 명확히 하라 개념을 명확히 구분하라 객체, 클래스, 인스턴스를 확실히 구분하라
부록 참고할 만한 웹 페이지와 검색 방법 주요 참고 문헌 후기I: 소프트웨어 '출판'이라는 관점에서 바라보기 후기II: 코더를 지나 프로그래머로
목차를 보고 싶으시다면 위의 '목차 보기'를 눌러주세요.
초보 개발자, 프로그래머 들에겐 이 책에서 말하는 여러 코딩스타일이 벅찰 수 있습니다. 배워야 할 게 많고 지금 진행하고있는 프로젝트가 벅차고 힘이 든데, 무슨 놈의 코딩 스타일까지 알아야 한다는 말인가?? 이건 초보자들에게 가혹한 요구일 수 있습니다.
하지만, 개발자의 꿈을 꾸고 더 큰 프로젝트를 진행하고 싶다는 꿈으로 가득 찬 초보 개발자들에게 자신의 잘못된 코딩스타일이 익숙해져 습관이 되어 고치기 어렵기 전에 처음부터 바꿔야 한다고 저는 생각합니다.
초보 개발자는 그림조차 그려져 있지않은 하얀 도화지같은 상태일 때 처음부터 좋은 습관을 기르면 좋을 것이라 생각됩니다^^
이 책은 아래와 같은 여러 개의 코딩 습관들을 제시하고 있습니다.
띄어쓰기, 들여쓰기, 주석을 작성할 때 좋은 코딩 습관
식별자 이름을 지을 때 좋은 코딩 습관
연산자를 사용할 때 좋은 코딩 습관
이식하기 쉬운 프로그램을 만드는 좋은 코딩 습관
정밀한 프로그램을 만드는 좋은 코딩 습관
성능을 향상시키는 좋은 코딩 습관
사용자 인터페이스를 처리할 때 좋은 코딩 습관
오류 없는 프로그램을 만드는 좋은 코딩 습관
생산성 향상을 위한 좋은 코딩 습관
위에 제시한 모든 코딩 습관들을 무조건 자신의 습관으로 만들어라! 라고 주장하는 분명 정답이 아닙니다. 굳이 책에서 제시된 많은 내용들을 무조건 지켜라라는 것이 아닌 따르면 좋다라는 것을 먼저 책을 읽은 사람으로써 말씀드리고 싶습니다.
어떠한 소프트웨어 개론 서적을 원하신 분들에게는 원하는 책이 아닐 수도 있습니다. 하지만, 분명 이러한 좋은 코딩스타일을 유지하고 지킬려 노력한다면 추후에도 여러분들에게 좋은 개발자가 될 수 있을 것 같습니다.
커다란 프로젝트에 아무런 변수 선언은 프로젝트에 방해만 된다는 것. 가독이 좋지 못한 코드는 분명 차후 프로젝트 관리에 크나큰 해악입니다.
만약, 여러분이 지금도 변수를 a,b,c,... 나 i,j,k,... , num1,num2... 이런 식으로 자신만 기억할 수 있고, 또 추후 자신이 봐도 알아보지 못한 변수들의 선언들은 좋지 않은 결과를 초래한다는 것 등 사소한 여러 습관들을 알려주게 됩니다.
솔직히 말씀드리면, 저도 아직 개발을 시작한지 오래되지 않은 초보개발자 입니다. 아는 좋은 코딩습관들도 있고, 처음 알게 된 좋은 습관들도 있지만 분명히 이러한 것들을 알고 있다고 득이되지 실이 될리는 없다고 생각되네요.
아무튼 ! 책을 읽을 시간이 없는데, 프로젝트하는데 시간도 부족한데... 라고 하는 분들 이해됩니다! 자기전 20~30분만 침대에 누워서 투자해 보세요 ^^