장바구니 담기 close

장바구니에 상품을 담았습니다.

나쁜 프로그래밍 습관

나쁜 프로그래밍 습관

  • 칼비쳐
  • |
  • 영진닷컴
  • |
  • 2020-03-20 출간
  • |
  • 256페이지
  • |
  • 152 X 225 mm
  • |
  • ISBN 9788931461954
판매가

18,000원

즉시할인가

16,200

카드할인

0원(즉시할인 0%)

적립금

900원 적립(5%적립)

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

추가혜택

네이버페이 무조건 1%적립+ 추가 1%적립

수량
+ -
총주문금액
16,200

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




CHAPTER 1 프로그래밍 배우기
이 챕터는 코딩을 하기 위한 준비 과정으로 프로그래밍을 배우는 방법과 개발 도구를 선정하는 방법부터 시작한다. 나쁜 개발자가 되고 싶은 당신을 위해, 이 챕터는 이런 과정을 엉망으로 만들도록 도와줄 것이다.

CHAPTER 2 구성과 구조
코드 배치는 그 코드가 얼마나 이해하기 쉬운지에 영향을 미치는데, 이 챕터에서는 코드 배치를 이용해 알아볼 수 없는 코드를 만드는 방법을 배운다. 또한, 코드 배치와 구조는 어떻게 주석을 다는가에 따라서 더욱 끔찍한 결과를 만들어낼 수도 있다. 당연히 주석이 프로젝트 전체에 해를 끼치는 방법도 알아본다.

CHAPTER 3 변수
변수가 없다면 프로그램이 작동하는 과정에서 정보를 기록하고 추적할 방법은 없다. 변수는 프로그래밍에서 아주 기본적인 부분이기 때문에, 변수를 악용하는 수많은 방법을 배우는 것은 매우 즐거운 일이 될 것이다. 이번 챕터에서는 그중에서도 정말 악명 높고 딱 봐도 안 좋은 예제들을 살펴본다.

CHAPTER 4 조건문
이 챕터에서는 조건문을 잘못 사용하여 잘못된 조치를 취하거나 심지어 어떤 조치도 취하지 못하는 방법을 보여 줄 것이다. 또한 엉성하고 혼란스러운 코드 사이에 어떻게 자신의 흔적을 감추고 버그를 숨길 수 있는지 알게 될 것이다.

CHAPTER 5 반복문
조건문처럼 반복문도 프로그래밍의 기본적인 제어 구조다. 반복문은 조건문보다 더 복잡하며, 프로그램에 혼란과 파괴를 가져올 가능성이 더 크다. 이번 챕터에서는 이러한 잠재력을 활용하는 몇 가지 기본 방법에 대해 설명한다.

CHAPTER 6 서브루틴
서브루틴의 목적은 도움을 주는 것이다. 각각의 기능 단위에 해당하는 서브루틴을 작성해야 한다. 그러기 위해서 서브루틴은 논리적이며, 작고, 단순해야 한다. 하지만 단지 돕기 위함이 서브루틴이 존재하는 이유는 아니다. 이 챕터를 마칠 때쯤이면 서브루틴을 약하고, 비논리적이고, 답답할 정도로 복잡하게 만드는 방법을 배우게 될 것이다.

CHAPTER 7 오류 처리
오류 처리를 엉망으로 만드는 것은 프로그램에 문제를 일으키는 좋은 방법이다. 이번 챕터에서는 버그가 번성하는 데 필요한 공간을 제공하는 다양한 방법에 대해서 다룰 것이다.

CHAPTER 8 모듈
모듈은 소프트웨어 프로그램이 거대해짐에 따라 복잡성을 관리하기 위한 방법이 필요할 때 도움이 되며, 프로그램을 좀 더 유연하게 만들 수 있다. 이 챕터에서는 이러한 모듈의 유용성을 무력화시키는 방식으로 모듈을 작성하는 법을 보여 준다.

CHAPTER 9 클래스와 객체
객체지향 프로그래밍은 1990년대에 소프트웨어 개발에 있어서 지배적이었다. 그 중요성은 최근까지 계속되고 있으며, 대부분의 현대적이고 대중적인 언어들이 객체지향 프로그래밍의 패러다임을 지지하고 있다. 그리고 현대판 디지털 트로이 목마처럼 다양한 프로젝트에 잠입했다. 즉, 이번 챕터에서 다룰 사악한 교훈과 비열한 속임수가 오늘날 소프트웨어 환경에 널리 적용될 수 있다는 뜻이다.

CHAPTER 10 테스트
이번 챕터에서는 코드의 개별 유닛을 테스트하는 초기 테스트 단계에 초점을 맞춘다. 버그를 노출시킬 수 있는 위협적인 테스트로부터 코드를 보호하는 방법과 동료에게 큰 혼란을 주는 테스트 작성 방법을 보여 준다.

CHAPTER 11 디버깅
다른 프로그래밍 영역과 마찬가지로, 디버깅도 여러 다른 방식으로 접근할 수 있다. 때로는 디버깅을 해야 할 수도 있지만 잘할 필요는 없다. 아 챕터에서는 무능하게 조사하여 디버깅하는 방법, 단서를 남기지 않는 코드를 작성하여 디버깅을 힘들게 하는 방법에 대해 알아본다.


목차


CHAPTER 1 프로그래밍 배우기
01 프로그래밍을 배우는 안 좋은 방법
02 도구를 고르는 안 좋은 방법

CHAPTER 2 구성과 구조
01 일관성 없고 엉망으로 띄어쓰기 하기
02 코드에 쓸모없는 것 더하기
03 형편없는 주석 달기

CHAPTER 3 변수
01 불명확한 이름 사용하기
02 변수 선언을 시간 낭비로 여기기
03 변수의 적용 범위를 최대화하기
04 타입 체계를 완전히 악용하기
05 NULL - 종말의 신호

CHAPTER 4 조건문
01 대안은 잊기
02 표현을 악용하기
03 범위상에 공백을 넣거나 범위 겹치기

CHAPTER 5 반복문
01 잘못된 타입 선택하기
02 무한 루프 즐기기
03 잘못된 반복문 종료 만들기
04 반복문을 길고 복잡하게 만들기

CHAPTER 6 서브루틴
01 서브루틴의 사이즈를 아주 크게 하기
02 이해하기 힘들게 만들기
03 매개 변수를 악용하기
04 반환값으로 골탕먹이기

CHAPTER 7 오류 처리
01 모든 것이 문제없이 잘 될 거라고 가정하기
02 문제를 기억의 저편으로 보내 버리기
03 해결 미루기
04 어지럽히기

CHAPTER 8 모듈
01 혼란스럽게 불러오기
02 재사용 막기
03 강한 의존성 만들기

CHAPTER 9 클래스와 객체
01 알 수 없는 목적의 클래스 만들기
02 객체를 유연하지 않게 만들기
03 다형성 피하기
04 상속을 남용하거나 오용하기

CHAPTER 10 테스트
01 코드 보호하기
02 테스트 코드에 함정 파기

CHAPTER 11 디버깅
01 비체계적으로 수사하기
02 디버깅 어렵게 하기
03 제대로 된 수정 피하기

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.