This skill is intended for developers who have already completed the TDD core skill, and who have not worked with .NET previously (or want to brush up) and are likely to join a delivery team that is working in C#. Through this course, we’ll be making some assumptions that you’re already familiar with at least one programming language (static typed or dynamic).
On achieving the following badges, we’d expect you to have gained the following skills:
Can explain the concept of inheritance with examples of usage
Expected deliverable - simple application with a test that satisfies the above
Can explain the concept of polymorphism with examples of usage
dotnetcommand line utility to build and run the project and tests
Can demonstrate the use of IDE tooling for refactoring code
Expected deliverable - HTTP API that can take a request and persist some data from that request demonstrating the above
Disclaimer - The C# skill is not a core skill, it is advanced learning. If the goal is to know enough to join a delivery, this is satisfied having achieved Goat. Eagle is a space to demonstrate a deeper understanding of OO programming and implementing clean, maintainable code in C#.
Can write implementation code and tests that facilitate maintenance and change, using TDD and Clean Architecture. Implementation should follow SOLID principles.
Can explain common performance detriments in C# code and some potential ways to write performant C#, particularly in the context of APIs serving web requests.
Expected deliverable - A C# application that showcases an understanding of all the above points (this is intentionally open ended to allow for some flexing! Refer to the marking guide and look for clean, SOLID code with good testing strategies).