Effective C# (Covers C# 6.0), (includes Content Update Program): 50 Specific Ways to Improve Your C# (3rd Edition) (Effective Software Development Series)
معرفی کتاب «Effective C# (Covers C# 6.0), (includes Content Update Program): 50 Specific Ways to Improve Your C# (3rd Edition) (Effective Software Development Series)» نوشتهٔ Martin J. Osborne و Bill Wagner، منتشرشده توسط نشر Addison-Wesley Professional در سال 2017. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
In Effective C#, Third Edition, respected .NET expert Bill Wagner identifies 50 ways to harness the full power of the C# 6.0 language to write exceptionally robust, efficient, and well-performing code. Reflecting the growing sophistication of the C# language and its development community, Wagner has identified dozens of new ways to write better code. This edition s new solutions include some that take advantage of generics and several that are more focused on LINQ, as well as a full chapter of advanced best practices for working with exceptions. Wagner s clear, practical explanations, expert tips, and realistic code examples have made Effective C# indispensable to hundreds of thousands of developers. Drawing on his unsurpassed C# experience, he addresses everything from resource management to multicore support, and reveals how to avoid common pitfalls in the language and its .NET environment. Learn how to choose the most effective solution when multiple options exist, and how to write code that s far easier to maintain and improve. Wagner shows how and why to Prefer implicitly typed local variables (see Item 1) Replace string.Format() with interpolated strings (see Item 4) Express callbacks with delegates (see Item 7) Make the most of .NET resource management (see Item 11) Define minimal and sufficient constraints for generics (see Item 18) Specialize generic algorithms using runtime type checking (see Item 19) Use delegates to define method constraints on type parameters (see Item 23) Augment minimal interface contracts with extension methods (see Item 27) Create composable APIs for sequences (see Item 31) Decouple iterations from actions, predicates, and functions (see Item 32) Prefer lambda expressions to methods (see Item 38) Distinguish early from deferred execution (see Item 40) Avoid capturing expensive resources (see Item 41) Use exceptions to report method contract failures (see Item 45) Leverage side effects in exception filters (see Item 50) You re already a successful C# programmer, and this book will make you an outstanding one. Content Update Program: This book is part of the InformIT Content Update Program. As updates are made to C#, sections of this book will be updated or new sections will be added to match updates to the technologies. See inside for details. " About This E-Book Title Page Copyright Page Dedication Page Contents at a Glance Contents Introduction Who Should Read This Book? About The Content Code Conventions Providing Feedback Acknowledgments About the Author 1. C # Language Idioms Item 1: Prefer Implicitly Typed Local Variables Item 2: Prefer readonly to const Item 3: Prefer the is or as Operators to Casts Item 4: Replace string.Format() with Interpolated Strings Item 5: Prefer FormattableString for Culture-Specific Strings Item 6: Avoid String-ly Typed APIs Item 7: Express Callbacks with Delegates Item 8: Use the Null Conditional Operator for Event Invocations Item 9: Minimize Boxing and Unboxing Item 10: Use the new Modifier Only to React to Base Class Updates 2. .NET Resource Management Item 11: Understand .NET Resource Management Item 12: Prefer Member Initializers to Assignment Statements Item 13: Use Proper Initialization for Static Class Members Item 14: Minimize Duplicate Initialization Logic Item 15: Avoid Creating Unnecessary Objects Item 16: Never Call Virtual Functions in Constructors Item 17: Implement the Standard Dispose Pattern 3. Working with Generics Item 18: Always Define Constraints That Are Minimal and Sufficient Item 19: Specialize Generic Algorithms Using Runtime Type Checking Item 20: Implement Ordering Relations with IComparable and IComparer Item 21: Always Create Generic Classes That Support Disposable Type Parameters Item 22: Support Generic Covariance and Contravariance Item 23: Use Delegates to Define Method Constraints on Type Parameters Item 24: Do Not Create Generic Specialization on Base Classes or Interfaces Item 25: Prefer Generic Methods Unless Type Parameters Are Instance Fields Item 26: Implement Classic Interfaces in Addition to Generic Interfaces Item 27: Augment Minimal Interface Contracts with Extension Methods Item 28: Consider Enhancing Constructed Types with Extension Methods 4. Working with LINQ Item 29: Prefer Iterator Methods to Returning Collections Item 30: Prefer Query Syntax to Loops Item 31: Create Composable APIs for Sequences Item 32: Decouple Iterations from Actions, Predicates, and Functions Item 33: Generate Sequence Items as Requested Item 34: Loosen Coupling by Using Function Parameters Item 35: Never Overload Extension Methods Item 36: Understand How Query Expressions Map to Method Calls Item 37: Prefer Lazy Evaluation to Eager Evaluation in Queries Item 38: Prefer Lambda Expressions to Methods Item 39: Avoid Throwing Exceptions in Functions and Actions Item 40: Distinguish Early from Deferred Execution Item 41: Avoid Capturing Expensive Resources Item 42: Distinguish between IEnumerable and IQueryable Data Sources Item 43: Use Single() and First() to Enforce Semantic Expectations on Queries Item 44: Avoid Modifying Bound Variables 5. Exception Practices Item 45: Use Exceptions to Report Method Contract Failures Item 46: Utilize using and try/finally for Resource Cleanup Item 47: Create Complete Application-Specific Exception Classes Item 48: Prefer the Strong Exception Guarantee Item 49: Prefer Exception Filters to catch and re-throw Item 50: Leverage Side Effects in Exception Filters Index Code Snippets Filled with practical advice and tips from a recognized expert in the field, this book outlines 50 specific, practical ways in which developers can improve their C` programming skills. In Effective C#, Third Edition, respected .NET expert Bill Wagner identifies 50 ways to harness the full power of the C# 6.0 language to write exceptionally robust, efficient, and well-performing code. Reflecting the growing sophistication of the C# language and its development community, Wagner has identified dozens of new ways to write better code. This editions new solutions include some that take advantage of generics and several that are more focused on LINQ, as well as a full chapter of advanced best practices for working with exceptions. Wagners clear, practical explanations, expert tips, and realistic code examples have made Effective C# indispensable to hundreds of thousands of developers. Drawing on his unsurpassed C# experience, he addresses everything from resource management to multicore support, and reveals how to avoid common pitfalls in the language and its .NET environment. Teaches how to choose the most effective solution when multiple options exist, and how to write code thats far easier to maintain and improve
دانلود کتاب Effective C# (Covers C# 6.0), (includes Content Update Program): 50 Specific Ways to Improve Your C# (3rd Edition) (Effective Software Development Series)