이미 소장하고 있다면 판매해 보세요.
|
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: 코더를 지나 프로그래머로 |
|
초판을 낸 지 많은 시간이 흘렀다. 그동안 다양한 방법론이 출현했지만 방법론과는 별개로 프로그램을 작성하는 좋은 습관은 변하지 않은 것으로 보인다. 그런 면에서 2판에서도 새로운 방법론을 소개하기보다는 방법론과 상관없이 언제나 유용할 것으로 보이는 좋은 코딩 습관을 보충하고자 하였다.
건물을 짓는 데 있어서 기초를 제공하는 미장공, 벽돌공의 솜씨가 서툴고 제멋대로라면 건물이 제대로 지어지지 않는다. 훌륭한 분석과 설계를 따라 지은 건물의 외형이 멋져 보일 수는 있어도, 그 기초와 마감이 적절하지 않다면 부실한 건물이 되고 만다. 시스템의 기초와 마감을 결정짓는 역할을 하는 작업이 코딩이다. 이 작업을 담당하는 코더의 자질이 훌륭해야 한다. 그러므로 아무쪼록 코더라면 한 번쯤은 이 책을 읽어 주기를 바라고 프로그램 제작과 관련된 사람이라면 한 번쯤은 참고해 주기를 바라 마지않는다. 2판을 내면서 초판에 실린 내용들을 거의 다 그대로 살리되 문장들을 다듬고 일부 내용을 보강했다. 그리고 각 장의 말미에 보강 절들을 더 실었다. 16장 ‘생산성 향상을 위한 좋은 습관’을 추가했다. 특히 개발을 저술 및 출판의 관점에서 바라보자는 주장을 부록에 실었으니 관심을 갖고 읽어 보기 바란다. 2013년 9월, 박진수 ---「지은이의 말」 |
|
프로그램은 공동 작업의 산물이기 때문에 읽기 쉽게 프로그램을 작성하는 것은 정말로 중요하다. 자칫 간과했다가 한 명의 잘못된 코딩 습관으로 인해 프로젝트 전체를 망칠 수도 있기 때문이다. 이 책은 언어 창시자나 위대한 프로그래머들이 주장하는 꼭 필요한 좋은 코딩 습관을 15가지 주제별로 분류하여 제시한다.
대상 독자 - 프로그래밍 초보 - 2인 이상 협업하는 현업 개발자 - 프로그램 검수 역할을 하는 커미터 ♣ 성공하는 프로그래머의 128가지 코딩 습관 프로젝트 일정은 늘 부족하고 자주 변하기에 코딩 스타일을 논하는 일이 사치로 보일 수도 있다. 하지만, 반복되는 급급한 일정만 따라가다 보면 결국 유지보수의 산에서 힘이 빠지고 만다. 그렇다면 프로젝트 초기부터 모두가 같은 기준으로 코딩을 한다면 어떨까? 이제 상식 수준에서 제시되는 128가지 코딩 가이드를 익혀 시작부터 뻔했던 유지보수의 비극에서 헤어나오자. - 프로그램 설계 시에 알아야 할 좋은 코딩 습관 - 띄어쓰기, 들여쓰기, 주석을 작성할 때 좋은 코딩 습관 - 식별자 이름을 지을 때 좋은 코딩 습관 - 연산자를 사용할 때 좋은 코딩 습관 - 이식하기 쉬운 프로그램을 만드는 좋은 코딩 습관 - 정밀한 프로그램을 만드는 좋은 코딩 습관 - 성능을 향상시키는 좋은 코딩 습관 - 사용자 인터페이스를 처리할 때 좋은 코딩 습관 - 오류 없는 프로그램을 만드는 좋은 코딩 습관 - 생산성 향상을 위한 좋은 코딩 습관 ♣ 알아두기 이 책에 나온 여러 가지 주장을 반드시 따라야 하는 건 아니다. 굳이 따르지 않아도 되지만 따르면 좋다. 간혹 상반된 주장이 펼쳐질 수도 있다. 경우와 상황에 따라 이런 원칙이 맞을 때도 있고 저런 원칙이 맞을 때도 있기 때문이다. 또한 가치관이라든가 조직의 지침이라든가 하는 이유로 여기서 주장하는 내용과 상반된 원칙이나 관례를 따라야 하는 경우도 있다. 그러므로 이 책에 실린 모든 내용을 참고는 하되 금과옥조로 여길 필요는 없다. 참고하고 자신에게 맞는 부분만 적용하면 그만이다. C 언어로 다루고 있지만 다른 언어에도 확대 적용할 수 있다. |