Skip to product information
More Effective C
More Effective C#
Description
Book Introduction
50 New Guidelines for Writing Better Code (C# 7.0 Ready)

C# is gaining more attention as its development area expands from traditional .NET-based development to the Unity game engine.
Additionally, demand continues to grow as Zamarin can support various mobile platforms.
This book provides various tips and practical methods to help software developers use C# more efficiently.
In particular, it covers in detail 50 additional development guidelines that were not covered in the previous work, 『Effective C#』.

The author combines his expertise with development guidelines from the development community to offer powerful new solutions for everyday problems.
After reading this book, which clearly explains expert tips and practical example code, you will be able to perform even familiar tasks more efficiently and effectively.
  • You can preview some of the book's contents.
    Preview

index
CHAPTER 1_ Data Types
Item 1: Use properties instead of accessible data members.
Item 2_ It is better to use implicit properties for mutable data.
Item 3_ It is better for value types to be immutable.
Item 4_ Distinguish between value types and reference types
Item 5_ Design value types so that 0 is a valid state.
Item 6_ Make attributes behave like data
Item 7_ Limit the scope of type usage using tuples
Item 8: Do not use anonymous types outside of functions.
Item 9: Understand the correlations between different concepts of identity.
Item 10: Understand the Risks of GetHashCode()

CHAPTER 2_ API Design
Item 11_ Do not write conversion operators in APIs.
Item 12: Minimize method overloading by using optional parameters.
Item 13_ Limit the visibility of types
Item 14: It is better to define and implement interfaces rather than inherit them.
Item 15_ Understand the difference between interface methods and virtual methods.
Item 16_ Implement the event pattern for state transmission
Item 17: Do not return internal objects by reference.
Item 18: Use overriding rather than event handlers.
Item 19: Do not overload methods defined in the base class.
Item 20_ Understand that events increase coupling between objects at runtime.
Item 21: Do not declare events as virtual.
Item 22: Create clear, concise, and complete method groups.
Item 23: Provide partial classes and methods for constructors, mutators, and event handlers.
Item 24: Avoid using ICloneable, which limits design choices.
Item 25_ Only the params array should be used for array parameters.
Item 26_ Report errors from iterators and asynchronous methods immediately using local functions.

CHAPTER 3: TASK-BASED Asynchronous Programming
Item 27: Use asynchronous methods for asynchronous tasks.
Item 28_ Never write async void methods
Item 29: Do not use synchronous and asynchronous methods together.
Item 30: Avoid thread creation and context switching by using asynchronous methods.
Item 31: Avoid unnecessary context marshalling.
Item 32_ Compose asynchronous tasks using task objects.
Item 33: Consider implementing a task cancellation protocol.
Item 34_ Use ValueTask when caching the return value of an asynchronous method.

CHAPTER 4 PARALLEL PROCESSING
Item 35: Understand how PLINQ implements parallel algorithms.
Item 36: Build parallel algorithms with exceptions in mind.
Item 37: Don't create threads, use a thread pool.
Item 38: Use BackgroundWorker for inter-thread communication.
Item 39_ Understand Cross-Thread Calls in the XAML Environment
Item 40_ Use lock() as a top priority for synchronization.
Item 41_ Apply locks to as narrow a range as possible.
Item 42: Avoid calling external code in locked areas.

CHAPTER 5 DYNAMIC PROGRAMMING
Item 43: Understand the Pros and Cons of Dynamic Typing
Item 44: Use dynamic typing to leverage the runtime type of generic type parameters.
Item 45: Use DynamicObject or IDynamicMetaObjectProvider for data-driven dynamic typing.
Item 46_ Learn how to use the expression API
Item 47_ Minimize the use of dynamic objects in public APIs.

CHAPTER 6 Joining the Global C# Community
Item 48: Look for the best answer, not the most popular one.
Item 49: Contribute to improving specifications and code.
Item 50: Consider automating processing using analyzers.

Publisher's Review
50 Useful Tips for C# Developers
This book is a representative book in the series along with the author's previous work, Effective C#.
The author has contributed a great deal to the C# community, but writing this book is arguably one of the most notable contributions.
The first edition of "Effective C#," published over a decade ago, not only inspired C# developers in the United States and around the world immediately after its publication, but also established itself as a must-read for all developers as a practical, advanced guide.
This book can be considered the second part of 『Effective C#』, and contains content and advanced utilization techniques that were not covered in Part 1.

This book goes beyond simply explaining the system and implementation characteristics of languages ​​and frameworks.
It covers topics not easily found in other books, such as common problems and solutions encountered when developing with C# in the field, how to use newly added and improved features in C# in the right place, and how to find the cause of problems and improve them.

The primary target audience is professional developers whose primary language is C#.
It assumes that you are already familiar with C# syntax and features and is intended for readers who have a general understanding of C#.
Therefore, it does not cover the basic functions or features of the C# language.
Instead, it shows you how to apply all the features that C# currently offers to real-world tasks.
It is assumed that you have an understanding of the basic features of C#, as well as the common language runtime (CLR) and the JIT compiler.

Key Contents
● Chapter 1_ Data Types
● Chapter 2_ API Design
● Chapter 3: Task-based Asynchronous Programming
● Chapter 4_ Parallel Processing
● Chapter 5_ Dynamic Programming
Chapter 6: Joining the Global C# Community
GOODS SPECIFICS
- Date of issue: May 6, 2019
- Page count, weight, size: 300 pages | 183*235*20mm
- ISBN13: 9791162240892
- ISBN10: 116224089X

You may also like

카테고리