티스토리 뷰

C# 코딩의 기술 기본편
가와마타 아키라 저/김완섭

<C# 코딩의 기술 - 기본편>은 저자의 짤막한 C# 및 닷넷 프로그래밍 노하우들을 엮은 책이다. 어떤 문제에 대해 고민하는 주인공, 그를 도와주는 하수와 고수 캐릭터를 등장시켜 노하우를 설명하는 신선한 구성을 가지고 있다. 가볍게 읽히지만 내가 만들었던 코드도 주인공처럼 실수를 하지 않았나 돌아보게 하고 '이 기술은 다음에 적용해 봐야지'라는 생각이 들게 만드는 책이다.

목차

1장. 언어 사양 문제

1.1 var 사용에 관한 고민
1.2 if와 switch에 관한 오해
1.3 for와 foreach에 관한 오해
1.4 while을 이용한 조건 판정
1.5 do는 유용하지만 잘 사용하지 않는다.
1.6 루프할 필요가 없는 루프
1.7 장황한 비동기 루프
1.8 해제되지 않는 참조
1.9 해제했다고 생각한 메모리
1.10 표현력이 과장된 형
1.11 표현력이 부족한 형
1.12 의미 없는 구조체 사용
1.13 포인터 사용
1.14 불필요한 형변환 남용
1.15 클래스 하나로 증후군
1.16 모두 public으로 증후군
1.17 모두 static으로 증후군
1.18 using문을 사용하지 않는 증후군
1.19 다중 언어 프로그래밍을 모른다
1.20 const를 사용할 수 있는데 일반 변수를 사용하는 문제
1.21 readonly를 사용할 수 있는데 일반 변수를 사용하는 문제
1.22 열거형을 사용하지 않고 상수를 정의한다
1.23 쓸데없이 깊은 클래스 계층
1.24 다른 네임스페이스에서 같은 이름 남용
1.25 인수가 너무 많을 때
1.26 virtual 남용
1.27 코드에 바로 패스워드를 적는다
1.28 예외 처리를 하지 않는데 catch한다
1.29 catch해서 아무것도 하지 않고 throw하기
1.30 의미 없이 반복되는 상속
1.31 위임해야 할 상황에 상속한다
1.32 이름이 너무 짧아서 생기는 문제
1.33 이름이 너무 길어서 생기는 문제
1.34 기호로 된 이름 때문에 생기는 문제

2장. 라이브러리 문제

2.1 구세대 컬렉션 사용
2.2 컬렉션 반환
2.3 윈폼에 대한 고집
2.4 윈폼 API를 직접 호출한다
2.5 오래된 기술 XML DOM
2.6 오래된 기술 XSLT
2.7 개별 형식 바이너리의 시리얼라이즈
2.8 지나친 예외 의존
2.9 XElement를 Nullable〈T〉로 변환할 수 있을 때
2.10 MVC에서 View에 로직을 작성하는 문제
2.11 루프와 로직이 섞여 있다
2.12 필요 없는 리소스 사용
2.13 자바여 편히 잠들라

3장. 개발 환경 문제

3.1 GAC에 얽힌 오해
3.2 Ngen 의존 증후군
3.3 런타임 버전이 너무 최신일 때
3.4 런타임 버전이 너무 오래됐을 때

4장. 알고리즘 문제

4.1 지나친 재귀 사랑
4.2 불변이 아닌 클래스
4.3 흩어진 정보
4.4 쿼리가 너무 많을 때
4.5 장황한 판정
4.6 고유성이 확보됐는데 판정한다
4.7 고유성이 확보되지 않았는데 판정하지 않는다
4.8 영원히 실행되지 않는 코드
4.9 비정상 종료 시 치명적인 처리를 중단하지 않는 코드
4.10 무횻값을 자주 사용하는 데이터 설계

5장. 비주얼 스튜디오 문제

5.1 편리한 확장 기능을 사용하지 않는 문제
5.2 편리한 확장 기능을 과하게 사용하는 문제
5.3 F1을 사용하지 않는 문제
5.4 F1에 의존하는 문제
5.5 NuGet을 사용하지 않는 문제
5.6 NuGet을 사용할 수 없는 문제
5.7 버전이 적합한 템플릿을 선택할 수 없는 문제
5.8 콘솔 어플리케이션부터 만드는 문제

 

- James Song

댓글