심플 소프트웨어
도서명:심플 소프트웨어
저자/출판사:맥스,카넷,알렉산더/길벗
쪽수:228쪽
출판일:2019-10-30
ISBN:9791160509519
목차
지은이 서문
옮긴이 서문
1부 프로그래머를 위한 원칙
__1장 시작하기 전에
____할 거면 잘하라
__2장 엔지니어의 자세
__3장 능력자 프로그래머의 한 가지 비밀
__4장 두 문장으로 요약한 소프트웨어 설계
2부 소프트웨어의 복잡성과 원인
__5장 복잡성의 단서
__6장 복잡성을 키우는 방법: API 분리
__7장 하위 호환성이 가치를 잃는 시점은 언제인가?
__8장 복잡성은 감옥이다
3부 단순성과 소프트웨어 설계
__9장 설계는 프로젝트 초반에 하라
____올바른 방법 도입하기
__10장 미래 예측의 정확성
__11장 단순성과 엄격성
__12장 둘은 너무 많다
____리팩토링
__13장 분별 있는 소프트웨어 설계
____잘못된 방법
____잘못된 방법 분석
____이 작업을 여러 사람이 함께한다면?
____올바른 방법
____우리는 소프트웨어 설계 법칙을 따랐다
4부 디버깅
__14장 버그란 무엇인가?
____하드웨어
__15장 버그의 원인
____복합적인 복잡성
__16장 재발을 방지하라
____재발 방지 예시
____토끼굴로 들어가기
__17장 디버깅의 기본 철학
____버그 파악하기
____시스템 살펴보기
____진짜 원인 찾기
____4단계
5부 엔지니어링 팀에서 일하기
__18장 엔지니어링 생산성을 효과적으로 개선하기
____그러면 어떻게 해야 할까?
____해결책
____신뢰와 문제 해결
____장애물
____근원적 문제를 향해 나아가기
__19장 개발자 생산성 측정하기
____‘생산성’의 정의
____‘LOC’는 어떨까?
____유효한 기준 정하기
____코드가 제품이라면?
____개발자 생산성 개선 담당자라면?
____결론
__20장 소프트웨어 회사에서 코드 복잡성을 다루는 법
____1단계: 문제 목록
____2단계: 회의
____3단계: 버그 리포트
____4단계: 우선순위 선정
____5단계: 과제
____6단계: 계획
__21장 리팩토링할 때는 기능에 주목하라
____효과적으로 일하기
____리팩토링 한계 설정하기
____리팩토링을 하면 시간이 절약된다
____명확하게 만들어라
____정리
__22장 친절과 코드
____소프트웨어에서 중요한 건 사람이다
____친절의 예
____친절하게 더 나은 프로그램을 만들어라
__23장 간략하게 살펴보는 오픈 소스 커뮤니티
____기여자 유지하기
____장벽 없애기
____관심 유도하기
____아주 인기 있는 제품이 돼라
____인기 있는 프로그래밍 언어로 만들어라
____정리
6부 소프트웨어 이해하기
__24장 컴퓨터란 무엇인가?
__25장 소프트웨어 구성 요소: 구조, 동작, 결과
__26장 소프트웨어 개정판: (I)SAR 구별하기
____구조
____동작
____결과
____코드 한 줄에 담긴 ISAR
____SAR 정리
__27장 지식으로서의 소프트웨어
__28장 기술의 목적
____반대 사례도 있을까?
____기술의 발전이 ‘좋은’ 것인가?
__29장 간략하게 살펴보는 프라이버시 문제
____공간의 프라이버시
____정보의 프라이버시
____정리
__30장 단순성과 보****
__31장 테스트 주도 개발과 관찰 주기
____ODA 사례
____개발 프로세스와 생산성
____첫 번째 ODA
__32장 테스트 철학
____테스트 가치
____테스트 단언문
____테스트 범위
____테스트 가정
____테스트 설계
____E2E 테스트
____통합 테스트
____단위 테스트
____현실
____가짜
____결정론 177
____속도 178
____커버리지 180
____결론: 테스트의 전반적인 목표 180
7부 나아지기
__33장 성공의 비밀: 나아지기
____이 방법이 왜 효과가 있었을까?
__34장 개떡 같은 부분을 찾는 방법
__35장 ‘아니요’의 힘
____나쁜 아이디어 알아내기
____나쁜 아이디어 내지 않기
____거절과 무례는 다르다
__36장 프로그래머가 개떡 같은 이유
____무엇을 배워야 할까?
__37장 빠른 프로그래밍의 비결: 생각하지 않기
____이해하기
____그리기
____시작하기
____단계 건너뛰기
____신체적 문제
____주의 집중하기
____자기 회의
____잘못된 통념
____주의 사항
__38장 개발자의 자만심
__39장 ‘일관성’과 ‘획일성’은 다르다
__40장 사용자는 문제를 알려주고 개발자는 해결책을 만든다
____신뢰와 정보
____문제는 사용자에게서 나온다
__41장 즉각적인 만족감 = 즉각적인 실패
____해결책은 장기적인 관점으로 찾아라
____소프트웨어 회사를 망가뜨리는 방법
__42장 성공은 혁신이 아니라 실행에서 온다
__43장 훌륭한 소프트웨어
____1. 사용자의 명령을 정확하게 따른다
____2. 사용자가 예상한 대로 작동한다
____3. 사용자의 의도 전달을 막지 않는다
____코드를 단순하게 만드는 것보다 탁월하게 만드는 게 더 중요하다. 이 둘은 상충되지 않는다
찾아보기