나쁜 프로그래밍 습관 (변수부터 디버깅까지 협업 개발을 위해 지켜야 할 기본적인 규칙!)

나쁜 프로그래밍 습관 (변수부터 디버깅까지 협업 개발을 위해 지켜야 할 기본적인 규칙!)

$18.00
Description
생산적인 개발자, 함께 일하고 싶은 개발자가 되기 위해
꼭 알아야 하는 개발 규칙!
현대의 개발은 협업의 시대다. 다수가 함께 일하는 협업을 위해서는 코드의 가독성을 높이는 작업이 중요하다. 그래야만 다른 개발자가 개발한 코드를 빠르게 파악할 수 있고 신속한 개발과 유지보수가 가능하다. 이렇듯 협업의 중요성이 강조되는 때에 코딩의 기본기를 다지기 위해 이 책은 좋은 대안이 된다.

이 책은 개발자라면 꼭 알아야 할 코딩의 기본적인 규칙을 담고 있다. 변수 네이밍, 조건문과 반복문의 작성, 디버깅 등의 내용을 다루며 주로 코딩과 관련된 내용에 집중한다. 다소 가볍고 유머스러운 방식으로 작성되어 버그를 유발하고 동료를 화나게 하는 나쁜 개발 방식을 제시하는데, 이러한 나쁜 개발 방식을 통해 코딩 시 피해야 할 규칙과 따라야 할 규칙을 배울 수 있으며, 결과적으로 무엇이 좋은 개발 방식인지 깨닫게 될 것이다.
저자

칼비쳐

작가와소프트웨어전문가로살아가고있다.작가일때는과학과기술에집중한다.유용하지만어려운아이디어를받아들여서사람들이이해하기쉬운방식으로설명하는것을좋아한다.소프트웨어엔지니어로일하면서컴퓨터공학분야에박사학위를취득했으며IT운영관리를할수있는회사를공동창업하였다.

목차

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

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

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

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

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

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

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

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

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

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

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

출판사 서평

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

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

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

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

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

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

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

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

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

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

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