API in C#: The Best Practices of Design and Implementation
API in C#: The Best Practices of Design and Implementation, available at $79.99, has an average rating of 4.48, with 64 lectures, 1 quizzes, based on 997 reviews, and has 7446 subscribers.
You will learn about Design and implement a type or an API taking care of it's users. Encapsulate types so the other programmers would not hate you. Code in a good style making the code clearer in its intent. Refactor the code making it much better to read and understand. Throw and handle exceptions properly. Decide whether to comment a particular part of the code is a good idea or not. By the way, which comments are helpful and which are not? Dealing with Null values This course is ideal for individuals who are This course is primarily oriented on programmers who have at least basic knowledge of C# and looking for practical guidelines concentrated on the improving of code qualities. It is particularly useful for This course is primarily oriented on programmers who have at least basic knowledge of C# and looking for practical guidelines concentrated on the improving of code qualities.
Enroll now: API in C#: The Best Practices of Design and Implementation
Summary
Title: API in C#: The Best Practices of Design and Implementation
Price: $79.99
Average Rating: 4.48
Number of Lectures: 64
Number of Quizzes: 1
Number of Published Lectures: 64
Number of Published Quizzes: 1
Number of Curriculum Items: 65
Number of Published Curriculum Objects: 65
Original Price: $27.99
Quality Status: approved
Status: Live
What You Will Learn
- Design and implement a type or an API taking care of it's users.
- Encapsulate types so the other programmers would not hate you.
- Code in a good style making the code clearer in its intent.
- Refactor the code making it much better to read and understand.
- Throw and handle exceptions properly.
- Decide whether to comment a particular part of the code is a good idea or not. By the way, which comments are helpful and which are not?
- Dealing with Null values
Who Should Attend
- This course is primarily oriented on programmers who have at least basic knowledge of C# and looking for practical guidelines concentrated on the improving of code qualities.
Target Audiences
- This course is primarily oriented on programmers who have at least basic knowledge of C# and looking for practical guidelines concentrated on the improving of code qualities.
Learn how to design and implement types in C# so that the other developers won’t hate you when using one of the types developed by you. It means you are going to learn how to write code of the high quality: readable, understandable and reliable.
Improve your knowledge in object-oriented programming in the context of clean coding and building types of high quality.
-
Understand the characteristics of a well-designed type
-
Grasp the principles of the convenient API development
-
Write clean code, get rid of unpleasant smells
-
Learn about what exceptions are intended for and how to throw and catch them properly
-
Protect your types from the incorrect usage making them properly encapsulated.
Foundations of building object-oriented infrastructures
Despite the fact that C# is a very rich on features language, it’s very common to see poorly designed and implemented types in a real world. In fact, C# is one of the richest on features language among object-oriented languages in the world nowadays. But with great power comes great responsibility.It’s challenging to use all those features in a right way.
You probably have already heard the following well-known statement: most code sucks. Well, this course is all about how to produce code which doesn’t suck.
Owning skills of producing a well-designed and well-implemented types is the prerequisite for the other developers to treat you as a real professional.
Content and Overview
This course is aimed at all the C# developers, from beginners to seniors. Topics which are covered in the course are relevant for all kinds of C# developers since all developers design and implement APIs. The topics complexity is very different. There are plenty of very simple topics, and at the same time, there are topics which require from you a solid C# background. There are plenty of code examples throughout this course, so you will learn both theoretical and practical material.
Starting with characteristics and principles of a well-designed type you will go further, learning how to give names for different members, how many parameters a method should take, is it a good idea to take a Boolean as a parameter of a method and much more than that.
Then you will learn what encapsulation really means. How to encapsulate a type? There are some trade-offs we will deal with encapsulating our types. There are many experienced programmers who don’t know what encapsulation is in essence. Investigating this topic together we will see how to build a consistent and reliable type.
After mastering the topic of types encapsulating you will face the great problem of exceptions handling. Yep, it’s a hard nut to crack. We will start from discussing a question of why do we use exceptions as a mechanism of errors handling. And why C# team didn’t invent any other mechanisms?
In the end, we will look at how to fight with null values. As you may know, Tony Hoar said that the invention of a null value was his billion-dollar mistake.
To sum up, the course covers the following topics:
-
API development principles
-
How to give better names for API members and what naming conventions exist in the .NET platform and suited for C#.
-
Common problems encountered by C# developers in the process of designing and implementing APIs: classes vs structures, abstract classes vs interfaces, creational patterns vs constructors, how to implement dispose pattern (are you sure you understand this allegedly simple case?)
-
Common implementation smells such as poor naming, excessively long methods, output parameters and so on.
-
Common Architectural Design Smells such as Primitive Obsession, Hidden Dependencies, Violation of Law of Demeter and other.
-
How to deal with errors. It is surprisingly hard to develop robust software where errors handling is based on exceptions. We will find out why this is so and how to struggle with problems of error handling.
-
How to deal with Nulls. Null Vales have always been a pain the ass. NullReferenceException is a well-known and popular guest in our software. We will look at the possible ways of diminishing the disrupting power of null-values.
Teaching Approach
No fluff, no ranting, no beating the air. I esteem your time. The course material is succinct, yet comprehensive. All important concepts are covered. Particularly important topics are covered in-depth. For absolute beginners I offer my help on Skype absolutely free, if requested. Don’t forget that this course has English subtitles, so if you don’t understand my accent, feel free to turn them on.
Take this course and you will be satisfied.
————————————————————
Keywords related to the course:
-
C# Clean Code
-
C# Best Practices
-
API in C#
-
Building API in C#
-
Clean Code in C# tutorial
-
Refactoring
Course Curriculum
Chapter 1: Introduction to API
Lecture 1: How to Ask Questions
Lecture 2: Download Source Code
Lecture 3: Join .NET Community of Students
Lecture 4: Outline
Lecture 5: API's Characteristics
Lecture 6: Public API VS Private API
Lecture 7: API Development Principles
Lecture 8: Conclusion
Chapter 2: Names
Lecture 1: Outline
Lecture 2: General Principles of Naming
Lecture 3: Naming Conventions in .NET
Lecture 4: Conclusion
Chapter 3: Designing and Implementing Types and their Members
Lecture 1: Outline
Lecture 2: Class VS Structure
Lecture 3: Abstract Class VS Interface
Lecture 4: Implementing Abstract Classes
Lecture 5: Property VS Method
Lecture 6: Implementing Constructors
Lecture 7: Creational Patterns VS Constructors
Lecture 8: Tester-Doer Pattern
Lecture 9: Conversion VS Casting Operator
Lecture 10: Implementing Parameters
Lecture 11: Implementing "Dispose" Pattern
Lecture 12: Conclusion
Chapter 4: Implementation Smells
Lecture 1: Outline
Lecture 2: Poor Naming
Lecture 3: Violating Naming Conventions
Lecture 4: Variable Declarations on the Top
Lecture 5: Magic Numbers
Lecture 6: Too Long Method
Lecture 7: Poor Conditional Clauses
Lecture 8: Output Parameters
Lecture 9: Comments
Lecture 10: Prefer Positive if-statements
Lecture 11: Conclusion
Chapter 5: Common Architectural Smells
Lecture 1: Outline
Lecture 2: Primitives Obsession
Lecture 3: Hidden Dependencies
Lecture 4: Violation of Law of Demeter
Lecture 5: Temporal Coupling
Lecture 6: Temporal Coupling and Immutability
Lecture 7: Switch Statements
Lecture 8: Conclusion
Chapter 6: Dealing with Errors
Lecture 1: Outline
Lecture 2: What Does an "Error" Mean?
Lecture 3: Problems with Exceptions
Lecture 4: Common Misconceptions
Lecture 5: Exception Handling Strategies
Lecture 6: CQS Principle
Lecture 7: Errors and Functional Programming
Lecture 8: Pipelining by Method Chaining
Lecture 9: Conclusion on Exceptions Handling
Lecture 10: BCL Exceptions Types
Lecture 11: Custom Exception Types
Lecture 12: Conclusion
Chapter 7: Dealing with Nulls
Lecture 1: Outline
Lecture 2: Problems with Nulls
Lecture 3: Null Object Pattern
Lecture 4: Maybe monad in C#
Lecture 5: Automating Null Checks
Lecture 6: Static Analysis
Lecture 7: Returning IEnumerables
Lecture 8: Conclusion
Lecture 9: BONUS LECTURE
Instructors
-
Engineer Spock
Software Engineer – 1000+ Reviews, Average Score – 4.5
Rating Distribution
- 1 stars: 11 votes
- 2 stars: 29 votes
- 3 stars: 162 votes
- 4 stars: 383 votes
- 5 stars: 412 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Language Learning Courses to Learn in November 2024
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024