边读边学感觉很有收获,写一下概要翻译和自己的体会。欢迎大家拍砖
Chapter 1 C# Language Element
Item 1: Always Use Properties Instead of Accessible Data Members
Item 2: Prefer readonly to const
Item 3: Prefer the is or as Operators to Casts
Item 4: Use Conditional Attributes Instead of #if
Item 5: Always Provide ToString()
Item 6: Distinguish Between Value Types and Reference Types
Item 7: Prefer Immutable Atomic Value Types
Item 8: Ensure That 0 Is a Valid State for Value Types
Item 9: Understand the Relationships Among Equals
Item 10: Understand the Pitfalls of GetHashCode()
Item 11: Prefer foreach Loops
Chapter 1 小结
Chapter 2 .Net Resource Management
Item 12: Prefer Variable Initializers to Assignment Statements
Item 13: Initialize Static Class Members with Static Constructiors
Item 14: Utilize Constructor Chaining
Item 15: Utilize using and try/finally for Resource Cleanup
Item 16: Minimize Garbage
Item 17: Minimize Boxing and Unboxing
Item 18: Implement the Standard Dispose Pattern
Chapter 3 Expressing Designs with C#
Item 19: Prefer Defining and Implementing Interfaces to Inheritance
Item 20: Distinguish Between Implementing Interfaces and Overriding Virtual Functions
Item 21: Express Callbacks with Delegates
Item 22: Define Outgoing Interface With Events
Item 23: Avoid Returning References to Internal Class Objects
Item 24: Prefer Declarative to Imperative Programming
Item 25: Prefer Serializable Type
Item 26: Implement Ordering Relations with IComparable and IComparer
Item 27: Avoid ICloneable
Item 28: Avoid Conversion Operators
Item 29: Use the new Modifier Only When Base Class Updates Mandate it
Chapter 4 Create Binary Components
Item 30: Prefer CLS-Compliant Assemblies
Item 31: Prefer Small, Simple Functions