[Book] Effective C#

Effective C#

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

zemna

Programmer/Web/Mobile/Desktop

Leave a Reply