HOME > 상세정보

상세정보

C++ 코딩의 정석 : 101가지 규칙, 가이드라인, 좋은 습관들

C++ 코딩의 정석 : 101가지 규칙, 가이드라인, 좋은 습관들 (54회 대출)

자료유형
단행본
개인저자
Sutter, Herb Alexandrescu, Andrei, 저 최현호, 역
서명 / 저자사항
C++ 코딩의 정석 : 101가지 규칙, 가이드라인, 좋은 습관들 / Herb Sutter, Andrei Alexandrescu 저 ; 최현호 역
발행사항
서울 :   정보문화사,   2005  
형태사항
341 p ; 24 cm
원표제
C++ in-depth
ISBN
8956742553
서지주기
참고문헌과 색인수록
000 00000nam c2200205 c 4500
001 000045169906
005 20170829115142
007 ta
008 050510s2005 ulk b 001c kor
020 ▼a 8956742553 ▼g 13000
040 ▼a 211009 ▼c 211009 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.133 ▼2 22
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b C110 2005a
100 1 ▼a Sutter, Herb
245 1 0 ▼a C++ 코딩의 정석 : ▼b 101가지 규칙, 가이드라인, 좋은 습관들 / ▼d Herb Sutter, ▼e Andrei Alexandrescu 저 ; ▼e 최현호 역
246 1 9 ▼a C++ in-depth
260 ▼a 서울 : ▼b 정보문화사, ▼c 2005
300 ▼a 341 p ; ▼c 24 cm
504 ▼a 참고문헌과 색인수록
700 1 ▼a Alexandrescu, Andrei, ▼e
700 1 ▼a 최현호, ▼e

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 C110 2005a 등록번호 121107063 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 C110 2005a 등록번호 121107064 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 3 소장처 세종학술정보원/과학기술실/ 청구기호 005.133 C110 2005a 등록번호 151203498 도서상태 대출가능 반납예정일 예약 서비스
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 C110 2005a 등록번호 121107063 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 2 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 C110 2005a 등록번호 121107064 도서상태 대출가능 반납예정일 예약 서비스 B M
No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 세종학술정보원/과학기술실/ 청구기호 005.133 C110 2005a 등록번호 151203498 도서상태 대출가능 반납예정일 예약 서비스

컨텐츠정보

책소개

보다 깔끔한 코드의 빠른 작성 그리고 결함과 혼동이 없는 코딩 작성을 도와주는 책이다. 전세계의 C++ 커뮤니티에서 개발되고 널리 사용되며 검증된 다양한 표준 및 가이드라인 그리고 좋은 코딩 습관들을 모아 정리하고, 개발자들과 개발 팀이 그들의 작업에 있어 기본으로 삼아야 할 내용들을 간추려 수록했다.

디자인과 코딩 스타일, 함수, 연산자, 클래스 디자인, 상속성, 컨스트럭션/디스트럭션, 복사, 할당, 네임스페이스, 모듈, 템플릿, 예외, STL 컨테이너와 알고리즘 등에 대한 내용이 주를 이루며, 각 가이드라인은 각 규칙에 대한 설명과 예, 예외 상황과 참고 문헌의 순서로 나열되어 있다.


정보제공 : Aladin

저자소개

허브 서터(지은이)

ISO C++ 표준 위원회의 의장을 맡고 있으며, C/C++ Users Journal의 기고자이자 컬럼리스트, Microsoft의 Visual C++ 아키텍트로 일하고 있다. 지은 책으로 , , 등이 있다.

안드레 알렉산드레스쿠(지은이)

C/C++ 유저 저널의 컬럼리스트. 지은 책으로 이 있다.

최현호(옮긴이)

(주)씨큐브 테크놀로지 개발 팀장. 1994년부터 주로 윈도우 NT, 유닉스에서 SQL 서버, 오라클 데이터베이스를 이용하여 비주얼 베이직, 파워빌더, 자바 등으로 작성된 기업 업무용 클라이언트/서버 응용 프로그램을 개발하고 있다. 옮긴 책으로 <게임 프로그래머를 위한 C++>, , , 등이 있다.

정보제공 : Aladin

목차


목차

구성과 관리에 관한 이슈들 = 17

 0. 작은 것에 연연하지 말라 = 19

 1. 사소한 경고 메시지라도 무시하지 말라 = 22

 2. 자동화된 빌드 시스템을 사용하라 = 26

 3. 버전 컨트롤 시스템을 사용하라 = 28

 4. 코드 리뷰에 시간을 투자하라 = 30

디자인 스타일 = 33

 5. 하나의 엔티티에는 하나의 역할만을 부여하자 = 35

 6. 정확성, 간결성, 명확성을 먼저 생각하라 = 37

 7. 적절한 규모 유지를 위해서는 '언제, 어떻게'를 아는 것이 중요하다 = 39

 8. 이른 최적화를 피하라 = 42

 9. 미리 최적화해두어야 할 부분도 있다 = 45

 10. 전역 데이터와 공유 데이터를 최소화하라 = 47

 11. 정보를 숨겨라 = 49

 12. 안전한 공유를 위한 코딩의 시기와 방식을 결정하라 = 51

 13. 자원은 개체가 가지게끔 하라. RAII와 스마트 포인터를 활용하라 = 55

코딩 스타일 = 59

 14. 런타임 오류보다는 컴파일이나 링크 타임 오류가 낫다 = 61

 15. const를 사용하라 = 64

 16. 매크로 사용을 자제하라 = 67

 17. 마법의 숫자는 쓰지 말라 = 70

 18. 가능하면 로컬 변수를 선언하여 사용하라 = 72

 19. 변수는 항상 초기화하여 사용하라 = 74

 20. 너무 긴 함수와 많은 중첩 구조는 피하라 = 77

 21. 컴파일 단위 사이의 초기화 의존성을 없애라 = 79

 22. 정의의 의존성과 순환 의존성을 최소화하라 = 81

 23. 헤더 파일은 충분히 완성된 형태로 만들어라 = 84

 24. 내부 #include 가드를 사용하라. 외부 #include 가드를 써서는 안 된다 = 86

함수와 연산자 = 89

 25. 값, (스마트) 포인터, 참조 중 적절한 방식으로 인자를 얻어라 = 91

 26. 오버로딩된 연산자의 본래 의미를 유지하라 = 93

 27. 표준적인 형식의 산술 및 할당 연산자를 사용하라 = 95

 28. ++와 --의 표준적인 형식과 접두 형식을 사용하라 = 98

 29. 간접적인 타입 변환을 피하기 위해 오버로딩을 활용하라 = 100

 30. &&, Ⅱ 그리고 콤마의 오버로딩은 피하라 = 102

 31. 함수 인자의 처리 순서에 좌우되는 코드는 좋지 않다 = 105

클래스 디자인과 상속성 = 107

 32. 만들고 있는 클래스가 무엇인지 확실히 하라 = 109

 33. 최소화된 클래스를 사용하라 = 111

 34. 상속성은 주의해서 사용하라 = 113

 35. 기반 클래스로 디자인되지 않은 클래스로부터의 상속을 피하라 = 116

 36. 추상 인터페이스를 활용하라 = 119

 37. 상속의 정확한 의미를 이해하자. 재사용을 위해 상속하는 것은 아니지만, 재사용은 필요하다 = 122

 38. 안전한 오버라이딩을 연습하라 = 125

 39. 가상 함수는 비공용으로, 공용 함수는 비가상으로 설정하라 = 128

 40. 간접 변환을 피하라 = 131

 41. 특징 없는 값의 집합(C 스타일의 struct)을 제외하고는 모든 데이터 멤버를 사영으로 유지하라 = 134

 42. 내부의 것은 너무 노출시키지 말라 = 137

 43. Pimpl을 적절히 활용하라 = 140

 44. 비멤버 함수를 활용하라 = 144

 45. new와 delete는 항상 함께 제공하라 = 146

 46. 특정한 클래스에 맞는 new를 제공한다면 모든 표준 형식을 제공해야 한다 = 149

생성과 파괴 그리고 복사 = 153

 47. 멤버 변수의 정의와 선언은 같은 순서로 하라 = 155

 48. 컨스트럭터 내에서 할당 대신 초기화를 사용하라 = 157

 49. 컨스트럭터와 디스트럭터에서는 가상 함수의 호출을 피하라 = 159

 50. 기반 클래스 디스트럭터는 공용과 가상 또는 보호와 비가상으로 만들어라 = 162

 51. 디스트럭터, 재할당 그리고 swap은 절대 실패하지 않는다 = 165

 52. 일관된 방식으로 복사하고 제거하라 = 168

 53. 복사의 허용 여부는 명확하게 지정하라 = 170

 54. 개체의 조각화를 피하라. 기반 클래스 내에서의 복사보다는 Clone을 활용하라 = 172

 55. 정규형의 할당 방식을 사용하라 = 176

 56. 필요하다면 실패가 없는 swap을 활용하라 = 178

네임스페이스와 모듈 = 181

 57. 타입과 그의 비멤버 함수는 같은 네임스페이스 내에 넣어라 = 183

 58. 특별히 함께 작동하게끔 의도된 경우가 아니라면 타입과 함수는 분리된 네임스페이스에 넣어라 = 186

 59. 헤더 파일 내에 또는 #include 앞에 네임스페이스 using을 써서는 안 된다 = 189

 60. 서로 다른 모듈에서의 메모리 할당과 해지는 피하라 = 193

 61. 헤더 파일 내에는 서로 연결된 엔티티를 정의해서는 안 된다 = 195

 62. 예외가 모듈의 경계를 넘어 전달되는 것을 막아라 = 198

 63. 모듈의 인터페이스 내에는 충분한 이식성을 갖춘 타입을 사용하라 = 201

템플릿과 일반성 = 205

 64. 정적, 동적인 다형성을 적절히 혼합하라 = 207

 65. 계획적이고 직접적으로 커스텀화하라 = 210

 66. 함수 템플릿은 특화해서는 안 된다 = 215

 67. 계획적이지 않고 일반적이지 않은 코드는 작성하지 말라 = 218

오류와 예외의 처리 = 221

 68. 내부적인 가정과 규칙을 확실하게 명시하라 = 223

 69. 합리적인 오류 처리 방식을 수립하고, 엄격히 그 방식을 따르라 = 226

 70. 어디까지가 오류인지 명확히 해두자 = 229

 71. 오류로부터 안전한 코드를 디자인하고 작성하라 = 233

 72. 오류 보고에는 예외를 활용하라 = 237

 73. 예외를 발생시킬 때에는 값으로 하고, 잡아낼 때에는 참조로 하라 = 241

 74. 목적에 맞게 오류를 보고하고, 제어하고, 변환하라 = 243

 75. 예외 명세표는 만들 필요가 없다 = 245

STL : 컨테이너 = 249

 76. 표준적으로 vector를 사용하고, 그렇지 않다면 적절한 컨테이너를 선택하라 = 251

 77. 배열 대신 vector와 string을 사용하라 = 254

 78. C++ API가 아닌 다른 것들과의 데이터 교환을 위해서는 vector(그리고 string::c_str)를 사용하라 = 256

 79. 컨테이너에는 값과 스마트 포인터만을 저장하라 = 258

 80. 요소의 추가에는 push_back을 활용하라 = 260

 81. 추가 작업에 있어 범위를 지정한 방식을 활용하라 = 262

 82. 용량의 축소와 요소의 제거에 있어 적절한 방법을 사용하라 = 264

STL : 알고리즘 = 267

 83. 검증된 STL 임플리먼테이션을 사용하라 = 269

 84. 직접 작성한 루프보다는 알고리즘을 활용하라 = 272

 85. 적절한 STL 검색 알고리즘을 사용하라 = 276

 86. 적절한 STL 정렬 알고리즘을 사용하라 = 278

 87. 술어를 순수한 함수로 만들어라 = 281

 88. 알고리즘과 비교 인자에는 함수보다 함수 개체를 사용하라 = 284

 89. 올바른 함수 개체를 만들자 = 287

타입 안전 = 289

 90. 타입의 변환을 피하고, 다형성을 활용하라 = 291

 91. 표현 방식이 아닌 타입에 의존하라 = 294

 92. reinterpret_cast 사용을 자제하라 = 296

 93. 포인터에 대한 static_cast 사용은 피하라 = 298

 94. const는 캐스팅하지 말자 = 300

 95. C 스타일의 캐스팅은 사용하지 말라 = 302

 96. POD가 아닌 데이터를 memcpy 또는 memcmp하지 말라 = 305

 97. union 사용을 주의하라 = 307

 98. 가변 인자의 사용을 피하라 = 309

 99. 올바르지 않은 개체와 안전하지 않은 함수는 사용하지 말라 = 311

 100. 배열을 다형적으로 다루어서는 안 된다 = 313

참고 목록 = 315

핵심 요약 = 323

찾아보기 = 339



관련분야 신착자료

Ramamurthy, Bina (2021)