|
Effective C# | |
C# 언어요소 |
ITEM #1 |
데이터 멤버 대신에 항상 프로퍼티를 사용하라 |
ITEM #2 |
const보다는 readonly가 좋다 | |
ITEM #3 |
cast보다는 is나 as가 좋다 | |
ITEM #4 |
#if대신 Conditional Attribute를 사용하라 | |
ITEM #5 |
항상 ToString()을 작성하라 | |
ITEM #6 |
Value 타입과 Reference타입을 구분하라 | |
ITEM #7 |
Immutable atomic value 타입이 더 좋다 | |
ITEM #8 |
Value 타입을 사용할 때 0이라는 값이 의미를 가질 수 있도록 하라 | |
ITEM #9 |
ReferenceEquals(),static Equals(),instance Equals(),operator ==의 상호 연관성을 이해하라 | |
ITEM #10 |
GetHashCode()의 함성에 유의하라 | |
ITEM #11 |
Foreach 루프가 더 좋다 | |
닷넷 리소스 관리 |
ITEM #12 |
할당문보다는 변수 초기화를 사용하는 편이 더 좋다 |
ITEM #13 |
static클래스 멤버는 static생성자를 사용하여 초기화하라 | |
ITEM #14 |
연쇄적인 생성자 호출을 이용하라 | |
ITEM #15 |
자원해제를 위해서 using과 try/finally를 이용하라 | |
ITEM #16 |
Garbage를 최소화하라 | |
ITEM #17 |
Boxing과 unboxing을 최소화하라 | |
ITEM #18 |
표준 dispose 패턴을 구현하라 | |
C# 설계사항 구현 |
ITEM #19 |
상속보다는 interface를 정의하고 구현하는 것이 좋다 |
ITEM #20 |
Interface의 구현과 virtual 메서더의 overriding을 구분하라 | |
ITEM #21 |
Delegate를 이용하여 콜백을 표현하라 | |
ITEM #22 |
이벤트를 이용하여 외부로 노출할 인터페이스를 정의하라 | |
ITEM #23 |
클래스 내부 객체에 대한 reference반환을 피하라 | |
ITEM #24 |
명령적 프로그래밍보다 선언적 프로그래밍이 더 좋다 | |
ITEM #25 |
serializable타입이 더 좋다 | |
ITEM #26 |
IComparable과 IComparer를 이용하여 순차관계를 구현하라 | |
ITEM #27 |
ICloneable의 구현을 피라하 | |
ITEM #28 |
형변환 연산자의 구현을 피하라 | |
ITEM #29 |
기반 클래스의 변경이 영향을 줄 경우에만 new 한정자를 사용하라 | |
이진 컴포넌트 작성 |
ITEM #30 |
CLS를 준수하는 어셈블리가 더 좋다 |
ITEM #31 |
작고 단순한 메서드가 더 좋다 | |
ITEM #32 |
작고 응집도가 높은 어셈블리가 더 좋다 | |
ITEM #33 |
타입의 가시성을 제한하라 | |
ITEM #34 |
웹API는 큰 단위로 작성하라 | |
프레임 워크의 사용 |
ITEM #35 |
이벤트 핸들러보다 override를 사용하는 편이 낫다 |
ITEM #36 |
닷넷 런타임의 진단기능을 활용하라 | |
ITEM #37 |
표준 환경설정 메커니즘을 이용하라 | |
ITEM #38 |
데이터 바인딩을 사용하라 | |
ITEM #39 |
닷넷의 유효성 검증 기능을 사용하라 | |
ITEM #40 |
적절한 collection 개체를 이용하라 | |
ITEM #41 |
새로운 구조체보다는 DataSet이 더 좋다 | |
ITEM #42 |
Reflection을 단순화하기 위하여 attribute를 사용하라 | |
ITEM #43 |
Reflection을 과도하게 사용하지 말라 | |
ITEM #44 |
애플리케이션에 특화된 예외 클래스를 완벽하게 작성하라 | |
기타 |
ITEM #45 |
견고한 예외 보증 기법이 더 좋다 |
ITEM #46 |
Interop를 최소화하다 | |
ITEM #47 |
안전한 코드가 더 좋다 | |
ITEM #48 |
활용할 수 있는 다양한 툴과 리소스에 대해서 알아두라 | |
ITEM #49 |
C# 2.0의 주요특징 | |
ITEM #50 |
ECMA표준을 익혀라 |
자세한 내용을 책을 구매해서 보세요
Effective C# / 한빛미디어 / 빌 와그너 저, 김명신 역
'Sunmoon_BIT > C#' 카테고리의 다른 글
Visual Studio2008 유용한단축키 (0) | 2010.04.03 |
---|---|
Visual Studio 2008 자동 줄맞춤 (0) | 2010.04.03 |
Sealed Class , Sealed Method (0) | 2010.03.29 |
Deligate [대리자] (0) | 2010.03.26 |
연산자 오버로딩 (0) | 2010.03.26 |