메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

이펙티브 C#(3판)

강력한 C# 코드를 구현하는 50가지 전략과 기법

한빛미디어

번역서

판매중

  • 저자 : 빌 와그너
  • 번역 : 김명신
  • 출간 : 2017-11-06
  • 페이지 : 300 쪽
  • ISBN : 9791162240038
  • 물류코드 :10003
  • 초급 초중급 중급 중고급 고급
4.4점 (5명)
좋아요 : 30

더 나은 C# 코드를 작성하는 새로운 방법 50가지 

C#은 전통적인 .NET 기반 개발에서 유니티 게임 엔진으로 개발 영역을 확대하면서 더욱 주목받고 있다. 또한 자마린으로 다양한 모바일 플랫폼에 대응할 수 있어 수요가 계속 늘고 있다. 이에 이 책은 소프트웨어 개발자가 C#을 더 효율적으로 사용할 수 있도록 다양한 팁과 실용적인 방법을 제공한다. 

저자는 C#의 힘을 온전히 활용하여 효율적이고 성능이 뛰어난 코드를 작성하는 방법 50가지를 알려준다. 탁월한 C# 경험을 바탕으로 리소스 관리부터 다중 코어 지원까지 설명하고, 상황에 맞는 다양한 선택지를 제시한다. 가장 효과적인 솔루션을 선택하고, 유지보수와 개선이 쉬운 코드를 작성하는 방법도 살펴본다.

명확하고 실용적인 설명과 전문가의 팁, 현실적인 예제 코드로 가득한 이 책이야말로 중급 개발자의 필수 아이템으로 자리매김하는 데 부족함이 없을 것이다.

 

undefined

 

빌 와그너 저자

빌 와그너

일리노이 대학에서 컴퓨터 과학을 전공했고 현재 마이크로소프트의 .NET Core 콘텐츠팀에서 C#과 .NET 관련 교육 자료를 작성하는 업무를 담당한다. 세계 최고의 C# 전문가 중 한 명이며 ECMA C# 표준 위원회의 멤버이기도 하다. 휴매니테리언 툴박스(Humanitarian Toolbox) 대표이자 마이크로소프트 지역 디렉터인 동시에 11년간 .NET 분야 MVP이기도 하다. 최근에는 .NET Foundation 자문 위원으로 위촉되었다. 스타트업부터 대기업에 이르기까지 다양한 기업의 개발 프로세스를 개선하고 개발팀을 성장시키는 일을 돕는다. 앞서 『이펙티브 C#』을 출간한 바 있다.
김명신 역자

김명신

마이크로소프트의 기술을 더 많은 사람이 올바르게 이해하고 사용하기를 바라는 마음으로 한국 마이크로소프트의 수석 에반젤리스트로 일하고 있다. 이전에는 마이크로소프트 아태지역 글로벌 핵심 개발자 지원팀 수석 엔지니어였으며 다년간 C++와 C# 분야의 마이크로소프트 MVP이기도 했다. 클라우드, 분산 컴퓨팅 아키텍처, 대용량 네트워크 프로그래밍, 프로그래밍 방법론, 소프트웨어 공학 등 여러 분야에 두루 관심이 많고, 다양한 개발자 콘퍼런스에 단골 발표자로 참가하고 있어서 쉽사리 만나볼 수 있는 쉬운 남자다.

바이크에 심취하여 잠시 일탈을 꿈꿨으나 좌절하고, 최근에는 해양 스포츠를 넘보고 있다. 당장 필요하지도 않은 개발 공부야말로 인생에서 포기할 수 없는 마지막 사치라고 터무니없는 주장을 하는 그는 “내일부터 운동해야지”라는 말을 15년째 반복하고 있으며, 최근에는 35년간 공부한 내용을 어디에다가 써먹을 수 있을지 다시금 고민을 시작했다.

『Advance C Programming』, 『Unix System V』 등을 집필했고 『이펙티브 C#(3판)』(한빛미디어, 2017), 『제프리 리처의 CLR via C#』, 『마스터링 Microsoft Azure IaaS』, 『Microsoft Azure 에센셜』(이상 BJ퍼블릭) 등을 번역했다.

CHAPTER 1 C# 언어 요소

아이템 1: 지역변수를 선언할 때에는 var를 사용하는 것이 낫다 

아이템 2: const보다는 readonly가 좋다 

아이템 3: 캐스트보다는 is, as가 좋다 

아이템 4: string.Format()을 보간 문자열로 대체하라 

아이템 5: 문화권별로 다른 문자열을 생성하려면 FormattableString을 사용하라 

아이템 6: nameof() 연산자를 적극 활용하라 

아이템 7: 델리게이트를 이용하여 콜백을 표현하라 

아이템 8: 이벤트 호출 시에는 null 조건 연산자를 사용하라 

아이템 9: 박싱과 언박싱을 최소화하라 

아이템 10: 베이스 클래스가 업그레이드된 경우에만 new 한정자를 사용하라 

 

CHAPTER 2 .NET 리소스 관리

아이템 11: .NET 리소스 관리에 대한 이해 

아이템 12: 할당 구문보다 멤버 초기화 구문이 좋다 

아이템 13: 정적 클래스 멤버를 올바르게 초기화하라 

아이템 14: 초기화 코드가 중복되는 것을 최소화하라 

아이템 15: 불필요한 객체를 만들지 말라 

아이템 16: 생성자 내에서는 절대로 가상 함수를 호출하지 말라 

아이템 17: 표준 Dispose 패턴을 구현하라 

 

CHAPTER 3 제네릭 활용

아이템 18: 반드시 필요한 제약 조건만 설정하라 

아이템 19: 런타임에 타입을 확인하여 최적의 알고리즘을 사용하라 

아이템 20: IComparable<T>와 IComparer<T>를 이용하여 객체의 선후 관계를 정의하라 

아이템 21: 타입 매개변수가 IDisposable을 지원할 경우를 대비하여 제네릭 클래스를 작성하라 

아이템 22: 공변성과 반공변성을 지원하라 

아이템 23: 타입 매개변수에 대해 메서드 제약 조건을 설정하려면 델리게이트를 활용하라 

아이템 24: 베이스 클래스나 인터페이스에 대해서 제네릭을 특화하지 말라 

아이템 25: 타입 매개변수로 인스턴스 필드를 만들 필요가 없다면 제네릭 메서드를 정의하라 

아이템 26: 제네릭 인터페이스와 논제네릭 인터페이스를 함께 구현하라 

아이템 27: 인터페이스는 간략히 정의하고 기능의 확장은 확장 메서드를 사용하라 

아이템 28: 확장 메서드를 이용하여 구체화된 제네릭 타입을 개선하라 

 

CHAPTER 4 LINQ 활용

아이템 29: 컬렉션을 반환하기보다 이터레이터를 반환하는 것이 낫다 

아이템 30: 루프보다 쿼리 구문이 낫다 

아이템 31: 시퀀스에 사용할 수 있는 조합 가능한 API를 작성하라 

아이템 32: Action, Predicate, Function과 순회 방식을 분리하라 

아이템 33: 필요한 시점에 필요한 요소를 생성하라 

아이템 34: 함수를 매개변수로 사용하여 결합도를 낮추라 

아이템 35: 확장 메서드는 절대 오버로드하지 마라 

아이템 36: 쿼리 표현식과 메서드 호출 구문이 어떻게 대응되는지 이해하라 

아이템 37: 쿼리를 사용할 때는 즉시 평가보다 지연 평가가 낫다 

아이템 38: 메서드보다 람다 표현식이 낫다 

아이템 39: function과 action 내에서는 예외가 발생하지 않도록 하라 

아이템 40: 지연 수행과 즉시 수행을 구분하라 

아이템 41: 값비싼 리소스를 캡처하지 말라 

아이템 42: IEnumerable<T> 데이터 소스와 IQueryable<T> 데이터 소스를 구분하라 

아이템 43: 쿼리 결과의 의미를 명확히 강제하고, Single()과 First()를 사용하라 

아이템 44: 바인딩된 변수는 수정하지 말라 

 

CHAPTER 5 예외 처리

아이템 45: 메서드가 실패했음을 알리기 위해서 예외를 이용하라 

아이템 46: 리소스 정리를 위해 using과 try/finally를 활용하라 

아이템 47: 사용자 지정 예외 클래스를 완벽하게 작성하라 

아이템 48: 강력한 예외 보증을 준수하는 것이 좋다 

아이템 49: catch 후 예외를 다시 발생시키는 것보다 예외 필터가 낫다 

아이템 50: 예외 필터의 다른 활용 예를 살펴보라 

C# 개발자를 위한 ‘알아두면 쓸모있는 신비한 팁 50가지’ 

이 책의 초판이 국내에 소개된 지도 벌써 10여 년이 지났다. 그 사이에 C# 커뮤니티는 폭발적으로 성장했고, 수많은 개발자가 주요 언어로 C#을 사용하게 되면서 개발 영역도 확대되었다. 이러한 가운데 저자는 6.0 이상의 최신 C#을 효율적으로 사용하는 방법에 초점을 맞추어 새롭게 이번 3판을 준비했다. 이전 판에서 다뤘지만 더 이상 유용하지 않은 항목들은 과감히 쳐냈고, C#과 .NET Framework에 새롭게 추가된 내용과 C# 커뮤니티의 축적된 경험을 정리하여 새로운 항목으로 구성했다. 

 

이 책의 대상 독자는 C#을 주요 언어로 사용하는 전문 개발자다. 따라서 이미 C#의 문법과 언어 기능을 충분히 숙지하고 있는 개발자가 읽는다는 가정하에 쓰였다. C# 자체의 기능을 세부적으로 설명하기보다는, 그러한 기능을 개발 현장에서 어떻게 적용하고 문제를 해결할 수 있을지를 알려준다. 나아가 C#의 최신 기능을 이용하여 양질의 코드를 작성하는 방법을 안내한다. 

 

이 책의 초판과 3판을 모두 번역한 김명신 역자는 국내에서 .NET 기술과 관련해 최고봉을 다툴 정도로 조예가 깊은 개발자다. 다수의 개발서를 집필/번역한 임백준 저자의 표현대로, 빌 와그너라는 걸출한 저자와 김명신이라는 뛰어난 프로그래머 역자의 조합은 독자에게 좀처럼 만나기 어려운 축복이다. 성능과 효율을 고려하면서 우아한 코딩을 하고 싶은 개발자라면, 매끄럽게 술술 읽히는 이 번역서를 통해 흥미로운 팁을 잔뜩 얻을 것이다.

 

★ 주요 내용

1장- C# 언어의 명세를 넘어 관용적으로 사용되는 주요 표현 방법

2장- .NET에서 효율적으로 리소스를 관리하는 데 꼭 알아야 할 상세 내용

3장- 재사용성과 성능 향상에 필요한 제네릭 항목들

4장- C#의 독특한 특징이자 강력한 기능을 제공하는 LINQ 활용법

5장- 안정적인 애플리케이션 개발에 필요한 예외 처리 기법

## 도서에 대하여

* 총평 점수: 4/5

* Effective C#은 C# 언어에 대한 기본서가 아닌 해당 언어를 잘 다룰 수 있는 사람들에게 도움이 될 수 있는, 어떻게 더 좋은 C# 프로그래머가 될 수 있는지에 대한 도서이다.

* 기본서를 예상하고 책을 받았던 본인은 조금 당황했지만 구성에 또 다시 당황할 수 밖에 없었다.

* C#을 주로 사용하는 개발자가 아님에도 불구하고 해당 도서는 좋은 도서임을 강력하게 어필할 수 있었다.

* 좋은 코드를 작성하는 방법은 어느 프로그래밍 언어와 방법론에도 중요한 개념이며, 다양한 기능을 갖고 디바이스를 컨트롤 할 수 있는 C# 의 경우 더더욱 그러하다.

* 도서의 장, 단점과 이 도서를 추천하고 싶은 독자를 말하며 정리하겠다.

 

 

## Effective C#의 장점

1. C#의 몰랐던 기능, 장점을 알 수 있다.

* C#은 마스터하기 어려운 언어 중 하나이다.

* 결국 C#에는 전부 알기 어려운 기능과 부분이 많다는 것인데, 이는 정말 베테랑이 아니고서야 알기도, 배우기도 어렵다.

* Effective C#은 베테랑 저자와 베테랑 역자가 만나 프로가 되기 위한 완벽한 지침서가 되었다.

2. 전문가들의 조언을 받을 수 있다.

* 프로그래밍을 하며 가장 중요한 것은 훌륭한 멘토가 있어야 한다는 것이다.

* 해당 언어, 프레임워크를 잘 알고 충분히 경험해본 멘토에게 주니어들은 배울만한 내용이 많다.

3. 실습 코드의 제공

* 각 Chapter 별로 Advise를 주는 도서이다.

* 해당 Advise를 주면서 친절하게도 코드로 설명을 해주는데, 이 실습 코드를 익히는 것이 곧 C#의 스킬을 하나 익히는 것이라고 받아들일 수 있다.

 

## Effective C#의 단점

1. 기본서는 아니다.

* 기본서를 기대하고 도서를 구매한 사람들에게 난이도 있고 실제적으로 도움이 되지 않는 도서임은 부정할 수 없다.(책 자체는 좋은 책임은 맞지만)

* 따라서 C#에 대한 기반 지식이 없는 개발자는 기본적 문법 익힘 및 경험을 한 다음 읽기 바란다.

 

## How to read Effective C#?

* 본 책의 구성은 Chapter 별 Tip을 제공하며 해당 Tip에 대한 코드 및 설명이 있다.

* 한 번 정도 쭉 가볍게 읽으면서 어떤 흐름인지 파악하고, 코드 하나하나 직접 작성해보며 책에서 주는 Advise, Tip을 몸소 익히는 것이 중요하다.

C#을 효과적으로 사용하기 위한 조언을 50가지 항목으로 나누어 소개하였습니다. 

주로 기억 나는 사항들은 다음과 같습니다.

 

1. 보통 C# 메모리 관리 주제와 함께 많이 나오는 박싱/언박싱 주제와 더불어 GC를 가진 언어에서 주의할 사항인 매 Tick마다의 메모리 재할당이 가져오는 단점에 대한 것

 

2. 델리게이트를 활용한 콜백 함수 사용

 

3. 관리/비관리 리소스와 Dispose/Finalize의 활용

 

4. 제너릭 활용

 

이외에도 LINQ의 활용과 효과적인 예외 처리에 대한 내용도 소개가 되고 있으니, C#을 사용하시는 분들은 꼭 한번 읽어 볼 만한 책이라 생각합니다.

서론

오늘 소개할 책은 Effective C# 이다. 프로그래밍 분야에 종사하고 있는 사람이라면 "Effective" 시리즈의 책(Effective C++, Java, Python ...)들을 적어도 한 번은 접해 보았을 것이다. 개인적으로 Effective 시리즈의 책들을 무척 좋아하는데 그 이유는 각 프로그래밍 언어 전문가들의 경험에서 우러나오는 훌륭한 프로그래밍 기법들을 많은 시간과 노력을 들이지 않고 배울 수 있기 때문이다. 그리고 이 책들에 실린 기법들은 실제 개발을 하면서 고민하게 되는 많은 문제들을 간단 명료하게 설명하고 그래서 "이렇게 개발해야 한다"는 결론이 명확해서 실제 업무에도 적용하기가 무척 용이하다.

 

구성

이 책은 총 300 페이지, 5 Chapter로 구성되어 있으며 50가지의 효과적인 프로그래밍 기법에 대해 설명하고 있다.

* CHAPTER 1 C# 언어 요소

* CHAPTER 2 .NET 리소스 관리

* CHAPTER 3 제네릭 활용

* CHAPTER 4 LINQ 활용

* CHAPTER 5 예외 처리

 

50가지의 프로그래밍 기법들의 제목은 대부분 명확한 문장 형식으로 작성되어 있다.

* 아이템1: 지역변수를 선언할 때는 var를 사용하는 것이 낫다.

* 아이템12: 할당 구문보다 멤버 추기화 구문이 좋다.

* 아이템 20: 타입 매개변수가 IDisposable을 구현한 경우를 대비하여 제네릭 클래스를 작성하라.

* 아이템 29: 컬렉션을 반환하기보다 이터레이터를 반환하는 것이 낫다.

* 아이템 45: 메서드가 실패했음을 알리기 위해서 예외를 이용하라.

 

C# 언어를 잘 아는 개발자나 혹은 이 책을 읽었으나 해당 기법이 잘 기억나지 않는 개발자라도 이 책의 목차만 참고하면 많은 기법을 바로 떠올리면서 신속히 실무에 사용하기가 쉽도록 되어 있다. 그리고 각 기법들을 설명하면서 간단한 샘플 코드를 예로 들면서 이해를 돕고 있다. 또한 동일한 동작을 수행하는 권장 코드와 대조 코드를 함께 비교하면서 설명하기 때문에 한층 이해력을 높일 수 있다. 무엇보다도 가장 좋았던 점은 CLR이나 컴파일러 등 개발 도구의 뒤에서 은밀히 수행되는 부분이나 최적화 과정들을 이해하기 쉽도록 코드 예제로 보여줌으로써 효율적인 코드를 작성하는데 고려해야 하는 관점을 언어 자체에서 다른 개발 도구들로 확장해서 생각할 수 있도록 하는 기회를 제공해 주었다는 점이다.

 

결론

Effective C#는 해당 언어의 기능들과 사용법을 소개하는 일반적인 프로그래밍 언어 책과는 많이 다르다. C# 전문가들이 수많은 경험을 통해 알아낸 효율적인 프로그래밍 기법과 노하우를 포함하고 있는 책이라 실제 개발 실무에서 많은 도움을 받을 수 있다. 또한 왜 이렇게 작성해야 하는지에 대한 이유를 C#,CLR(Common Language Runtime), JIT(Just in Time) 컴파일러 등을 복합적으로 고려하여 설명하고 비슷한 예제까지 제공하기 때문에 어려운 내용도 명확히 이해가 가능하다.

다만 이 책의 대상이 C# 언어의 기본 기능을 숙지하고 있는 중급 개발자 이상으로 정해져 있기 때문에 처음 C#을 접하거나 익숙하지 않은 개발자들이 읽기에는 조금 무리가 있다. 하지만 자신의 프로그래밍 실력이 정체되어 있거나 혹은 C# 언어의 고급 개발자를 목표로 하는 개발자들은 꼭 읽어보기를 강력히 추천한다.

 

  • 저자 :빌 와그너
  • 번역 :김명신
  • 출간 :2017-11-06
  • 페이지 :300 쪽
  • ISBN :9791162240038
  • 물류코드 :10003

정가 : 25,000 원

할인 : 22,500 원 (10% off)

택배 : 무료

구매 : http://www.hanbit.co.kr/store/books/look.php?p_code=B8349603240

 

 

 

기본정보

저자인 빌 와그너는 일리노이 대학에서 컴퓨터 과학을 전공했고 현재 마이크로소프트의 .NET Core 콘텐츠 팀에서 .NET 관련 교육 자료를 작성하는 업무를 담당하고 있다. 세계 최고의 C# 전문가 중 한 명이며 ECMA C# 표준 위원회의 멤버이기도 하다. 휴매니테리언 툴박스(Humanitarian Toolbox)의 대표이자 마이크로소프트 지역 디렉터인 동시에 11년간 .NET 분야의 MVP이기도 하다. 최근에는 .NET Foundation 자문 위원으로 위촉되었다. 스타트업부터 대기업에 이르기까지 다양한 기업의 개발 프로세스를 개선하고 개발팀을 성장시키는 일을 돕고 있다. 앞서 『Effective C#』의 1판과 2판을 출간한 바 있음.

정보 소개는 출판사의 공식 게시물 만한게 없지

 

 

 

첫인상

도서관 한켠에 있는 언제 출판되었을지 모를 서적처럼 생겼습니다. 책을 실제로 받아보면 무광에 부드러운 느낌의 재질이 느껴지는데 보통 책들처럼 반짝이는 표지를 썻다면 오히려 너무 저급책 저럼 보였을 것 같습니다. 저는 C#을 서브언어로 사용하다 지금은 메인(C/C++)과 서브사이의 개념이 모호할 정도로 많이 사용하고 있습니다. 메인언어의 사용이 절차지향에 편향되어 있었기에 C#의 객체지향적 특성을 제대로 살리지는 못하고 있었죠. 이 책을 선택한 이유는 표지에 적힌것과 같이 '강력한 C# 코드를 구현하는 50가지 전략과 기법' 때문입니다. 

(중략)

 

책구성

앞서 말씀드린바와 같이 본 책은 더나은 C#코드를 작성하기 위한 새로운 방법 50가지를 소개하고 있습니다. 명확하고 실용적인 전문가의 설명과 팁, 현실적인 예제 코드가 적절히 가미되어 있습니다. 한빛 미디어 책 소개를 보면 난이도가 '초급'이라 표기되어 있지만 본책은 최소 초중급에서 중급 이상이라고 생각됩니다. 그 이유는 C#에 대한 기본지식이 필요하고 프로그래밍에 대한 전반적인 지식또한 필요하기 때문입니다. 코드 작성에 관한 이야기라면 당연하게도 소프트웨어공학적인 내용들이 많이 담길 수 밖에 없습니다. 디자인패턴을 알고 있다면 조금더 많은 정보들을 얻을 수 있을 겁니다. 마치 여행지의 역사를 알고 관광지를 둘러보는 것 처럼 말입니다. 이 말은 곧, 디자인패턴을 깊이 알지 못하더라도, 들어본적도 없을지라도 그와 관계없이 여러분들에게 명확히 도움이 된다는 말입니다. 어떠한 내용을 담고 있는지에 대해서는 아래 글을 눌러 확인해 주시기 바랍니다. 책을 확인하는데 가장 좋은 방법은 목차입니다.

 

[목차]

CHAPTER 1 C# 언어 요소

아이템 1: 지역변수를 선언할 때에는 var를 사용하는 것이 낫다 

아이템 2: const보다는 readonly가 좋다 

아이템 3: 캐스트보다는 is, as가 좋다 

아이템 4: string.Format()을 보간 문자열로 대체하라 

아이템 5: 문화권별로 다른 문자열을 생성하려면 FormattableString을 사용하라 

아이템 6: nameof() 연산자를 적극 활용하라 

아이템 7: 델리게이트를 이용하여 콜백을 표현하라 

아이템 8: 이벤트 호출 시에는 null 조건 연산자를 사용하라 

아이템 9: 박싱과 언박싱을 최소화하라 

아이템 10: 베이스 클래스가 업그레이드된 경우에만 new 한정자를 사용하라 

 

CHAPTER 2 .NET 리소스 관리

아이템 11: .NET 리소스 관리에 대한 이해 

아이템 12: 할당 구문보다 멤버 초기화 구문이 좋다 

아이템 13: 정적 클래스 멤버를 올바르게 초기화하라 

아이템 14: 초기화 코드가 중복되는 것을 최소화하라 

아이템 15: 불필요한 객체를 만들지 말라 

아이템 16: 생성자 내에서는 절대로 가상 함수를 호출하지 말라 

아이템 17: 표준 Dispose 패턴을 구현하라 

 

CHAPTER 3 제네릭 활용

아이템 18: 반드시 필요한 제약 조건만 설정하라 

아이템 19: 런타임에 타입을 확인하여 최적의 알고리즘을 사용하라 

아이템 20: IComparable<T>와 IComparer<T>를 이용하여 객체의 선후 관계를 정의하라 

아이템 21: 타입 매개변수가 IDisposable을 지원할 경우를 대비하여 제네릭 클래스를 작성하라 

아이템 22: 공변성과 반공변성을 지원하라 

아이템 23: 타입 매개변수에 대해 메서드 제약 조건을 설정하려면 델리게이트를 활용하라 

아이템 24: 베이스 클래스나 인터페이스에 대해서 제네릭을 특화하지 말라 

아이템 25: 타입 매개변수로 인스턴스 필드를 만들 필요가 없다면 제네릭 메서드를 정의하라 

아이템 26: 제네릭 인터페이스와 논제네릭 인터페이스를 함께 구현하라 

아이템 27: 인터페이스는 간략히 정의하고 기능의 확장은 확장 메서드를 사용하라 

아이템 28: 확장 메서드를 이용하여 구체화된 제네릭 타입을 개선하라 

 

CHAPTER 4 LINQ 활용

아이템 29: 컬렉션을 반환하기보다 이터레이터를 반환하는 것이 낫다 

아이템 30: 루프보다 쿼리 구문이 낫다 

아이템 31: 시퀀스에 사용할 수 있는 조합 가능한 API를 작성하라 

아이템 32: Action, Predicate, Function과 순회 방식을 분리하라 

아이템 33: 필요한 시점에 필요한 요소를 생성하라 

아이템 34: 함수를 매개변수로 사용하여 결합도를 낮추라 

아이템 35: 확장 메서드는 절대 오버로드하지 마라 

아이템 36: 쿼리 표현식과 메서드 호출 구문이 어떻게 대응되는지 이해하라 

아이템 37: 쿼리를 사용할 때는 즉시 평가보다 지연 평가가 낫다 

아이템 38: 메서드보다 람다 표현식이 낫다 

아이템 39: function과 action 내에서는 예외가 발생하지 않도록 하라 

아이템 40: 지연 수행과 즉시 수행을 구분하라 

아이템 41: 값비싼 리소스를 캡처하지 말라 

아이템 42: IEnumerable<T> 데이터 소스와 IQueryable<T> 데이터 소스를 구분하라 

아이템 43: 쿼리 결과의 의미를 명확히 강제하고, Single()과 First()를 사용하라 

아이템 44: 바인딩된 변수는 수정하지 말라 

 

CHAPTER 5 예외 처리

아이템 45: 메서드가 실패했음을 알리기 위해서 예외를 이용하라 

아이템 46: 리소스 정리를 위해 using과 try/finally를 활용하라 

아이템 47: 사용자 지정 예외 클래스를 완벽하게 작성하라 

아이템 48: 강력한 예외 보증을 준수하는 것이 좋다 

아이템 49: catch 후 예외를 다시 발생시키는 것보다 예외 필터가 낫다 

아이템 50: 예외 필터의 다른 활용 예를 살펴보라 

 

결론

앞서 말한 바와 같이 본 책은 초급용이다. 초급과 초보는 다르다는걸 꼭 명심해야 한다. C#에 대한 어느정도의 지식이 있고 프로그래밍을 해본 초급자들을 위한 책이지 초보자를 위한 책은 아니다. 바둑에도 정석이라는 것이 있다. 전투에 있어서 전술들이 있듯 프로그래밍에는 디자인 패턴이 있고 훌륭한 선택지들이 많다. 이러한 것들을 미리 익혀둔다면 창조적 전쟁에서 손쉬운 실수들은 하지 않을 것이다. 사수없는 우리들에게 하나의 지표가 되고 길을 알려주는 이 책은 매우 훌륭한 책이다 한 가지 아이템을 얻기에도 힘든 경험인데 무려 50가지의 아이템을 알려주니 마다할 이유가 없다.

 

하나의 언어를 선택하여 배우고 무엇인가를 개발하려고 하는 입장에서, 먼저 그 언어에 대한 문법과 라이브러리에 익숙해지려고 했다. 하지만, 반복해서 개발을 하고 문제를 다양하게 접하며 이에 따른 디버깅에 익숙해지면 얼마나 해당 언어를 잘 알고 있었나 하는 회의가 들기도 한다고 많은 개발자들이 말한다.
C#은 원래 java의 아류였다. 하지만 버전업이 되면서 계속해서 C# 개발자들이 만족할 만한 진화가 이뤄졌고, 주종으로 사용하는 개발자들도 많다. 특히, 빌 와그너의 Effective C# 3번째 출판은 C# 개발자에게 그들이 사용하는 언어의 진화를 느낄 수 있게 해 준다. 그동안 우리나라에 번역되거나 소개된 많은 C#과 관련된 서적들이 백과사전적 나열이나 기본 문법에 충실했다. 다른 언어도 마찬가지다. C#도 언어적 특성에 따른 디자인 가이드라인을 제공하는 서적이 부족했다. 그러므로 effective C#의 개정판이 번역된 것은, C#을 통해 보다 단단한 software를 개발하고자 하는 이들에게 insight를 줄 수 있는 기회일 것이다. Effective 시리즈 C#편은, C#에 익숙한 개발자가 무심코 작성했던 자신의 코드를 되돌아 보고 더 나은 방식으로 접근할 수 있는 가이드를 충실하게 제공해 준다. 초심자 입장에서는 부담스러울 수 있겠지만, 어느정도 개발의 구력이 쌓인 사람이라면 일독을 권함.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
이펙티브 C#(3판)
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
이펙티브 C#(3판)
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
이펙티브 C#(3판)
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1