모어 이펙티브 C# (더 강력한 C# 코드를 구현하는 50가지 추가 전략과 기법 | 2 판)

모어 이펙티브 C# (더 강력한 C# 코드를 구현하는 50가지 추가 전략과 기법 | 2 판)

$25.00
Description
더 나은 코드를 작성하는 새로운 지침 50가지(C# 7.0 대응)
C#은 전통적인 .NET 기반 개발에서 유니티 게임 엔진으로 개발 영역을 확대하면서 더욱 주목받고 있다. 또한 자마린으로 다양한 모바일 플랫폼에 대응할 수 있어 수요가 계속 늘고 있다. 이 책은 소프트웨어 개발자가 C#을 더 효율적으로 사용할 수 있는 다양한 팁과 실용적인 방법을 제공한다. 특히 전작인 『이펙티브 C#』에서 미처 다루지 못했던 50개 추가 개발 지침을 선정해 자세히 다룬다.

저자는 자신의 노하우와 함께 개발 커뮤니티에서 제안한 개발 지침까지 고려해 매일 발생할 수 있는 문제를 해결할 강력한 새 솔루션을 제공한다. 전문가의 팁과 실용 예제 코드를 명확하게 설명한 이 책을 읽고 나면, 이미 익숙한 작업도 더 효율적이고 효과적으로 수행할 수 있게 될 것이다.
저자

빌와그너

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

목차

CHAPTER1_데이터타입
아이템1_접근가능한데이터멤버대신속성을사용하라
아이템2_변경가능한데이터에는암묵적속성을사용하는것이낫다
아이템3_값타입은변경불가능한것이낫다
아이템4_값타입과참조타입을구분하라
아이템5_값타입에서는0이유효한상태가되도록설계하라
아이템6_속성을데이터처럼동작하게만들라
아이템7_튜플을사용해서타입의사용범위를제한하라
아이템8_익명타입은함수를벗어나지않게사용하라
아이템9_다양한동일성개념들사이의상관관계를이해하라
아이템10_GetHashCode()의위험성을이해하라

CHAPTER2_API설계
아이템11_API에는변환연산자를작성하지말라
아이템12_선택적매개변수를사용하여메서드오버로드를최소화하라
아이템13_타입의가시성을제한하라
아이템14_상속보다는인터페이스를정의하고구현하는것이낫다
아이템15_인터페이스메서드와가상메서드의차이를이해하라
아이템16_상태전달을위한이벤트패턴을구현하라
아이템17_내부객체를참조로반환해서는안된다
아이템18_이벤트핸들러보다는오버라이딩을사용하라
아이템19_베이스클래스에정의된메서드를오버로드해서는안된다
아이템20_이벤트가런타임시객체간의결합도를증가시킨다는것을이해하라
아이템21_이벤트는가상으로선언하지말라
아이템22_명확하고간결하며완결된메서드그룹을생성하라
아이템23_생성자,변경자,이벤트핸들러를위해partial클래스와메서드를제공하라
아이템24_설계선택지를제한하는ICloneable은사용을피하라
아이템25_배열매개변수에는params배열만사용해야한다
아이템26_지역함수를사용해서반복자와비동기메서드의오류를즉시보고하라

CHAPTER3태스크기반비동기프로그래밍
아이템27_비동기작업에는비동기메서드를사용하라
아이템28_asyncvoid메서드는절대작성하지말라
아이템29_동기,비동기메서드를함께사용해서는안된다
아이템30_비동기메서드를사용해서스레드생성과콘텍스트전환을피하라
아이템31_불필요한콘텍스트마셜링을피하라
아이템32_비동기작업은태스크객체를사용해구성하라
아이템33_태스크취소프로토콜구현을고려하라
아이템34_비동기메서드의반환값을캐시하는경우ValueTask를사용하라

CHAPTER4병렬처리
아이템35_PLINQ가병렬알고리즘을구현하는방법을이해하라
아이템36_예외를염두에두고병렬알고리즘을만들라
아이템37_스레드를생성하지말고스레드풀을사용하라
아이템38_스레드간커뮤니케이션에는BackgroundWorker를사용하라
아이템39_XAML환경에서스레드간호출을이해하라
아이템40_동기화에는lock()을최우선으로사용하라
아이템41_락은가능한한좁은범위에적용하라
아이템42_잠긴영역에서는외부코드호출을삼가라

CHAPTER5동적프로그래밍
아이템43_동적타이핑의장단점을이해하라
아이템44_제네릭타입매개변수의런타임타입을활용하려면동적타이핑을사용하라
아이템45_데이터주도동적타입에는DynamicObject나IDynamicMetaObjectProvider를사용하라
아이템46_표현식API의사용법을익혀두라
아이템47_PublicAPI에서는동적객체사용을최소화하라

CHAPTER6글로벌C#커뮤니티에참여하기
아이템48_가장인기있는답이아닌최고의답을찾으라
아이템49_명세와코드향상에기여하라
아이템50_분석기를사용해서자동화처리를고민하라

출판사 서평

C#개발자를위한‘알아두면쓸모있는신비한팁50가지’
이책은저자의전작인『이펙티브C#』과시리즈를이루는대표서적이다.저자가C#커뮤니티에기여한바는적지않은데,그중단연돋보이는활동중하나가이책을저술한것이아닐까싶다.10여년전출간된『이펙티브C#』의초판본은출간즉시미국은물론전세계C#개발자들에게큰영감을주었을뿐아니라,실용적인고급안내서로서모든개발자가반드시읽어야하는필독서로자리매김하였다.이책은그러한『이펙티브C#』의2부라고할수있으며1부에서미처다루지못한내용과고급활용기법을담았다.

이책은단순히언어와프레임워크의체계와구현특성만을설명하는것에그치지않는다.현업에서C#을이용하여개발할때흔히겪는문제와그해결책,C#에새롭게추가되고개선된내용을적재적소에사용하는방법,문제의발생원인을찾고이를개선하는방법과같이다른책에서는쉽게접할수없는내용을다룬다.

주요대상독자는C#을주언어로하는전문개발자다.C#구문과기능을이미알고있다고가정하며C#을전반적으로다룰줄아는독자가대상이다.따라서C#언어의기본기능이나특징은다루지않는다.대신C#이현재제공하는모든기능을실제업무에어떻게접목시킬수있는지를알려준다.C#의기본기능뿐아니라공용언어런타임(CLR)과JIT컴파일러에대해서도이해하고있다고가정한다.

주요내용
●1장_데이터타입
●2장_API설계
●3장_태스크기반비동기프로그래밍
●4장_병렬처리
●5장_동적프로그래밍
●6장_글로벌C#커뮤니티에참여하기