Masterclass Building Maintainable Applications
Kursavgift: kr 17 900 | Varighet: 3 dager
Before attending this course students MUST have at least 2 years experience in programming with C # or VB.NET.
How do you manage a project from a technical point of view? Within 3 days you’ll know. We will investigate a lot of techniques that will make your project easier to understand, easier to maintain, easier to extend and easier to test.
First, we will look at things we need to take care of in our software development process. Regardless of the used process, we always need to be sure we have some quality assurance steps in place. We’ll talk about the benefits and costs of code reviewing and automated testing.
We will look at creating clean code. Why should we create clean code? What benefits does clean code have? How should clean code exactly look like?
We will elaborate on the SOLID principles that will make your code more clear, more maintainable and easier to understand.
Dependency injection is another important mechanism to create loosely coupled pieces of software. And loosely coupled software can be unit tested. So we will look at unit testing. Most people see that as a nice template in Visual Studio, but how can it help making your project into a real success? How do you create good unit tests? How do you create unit tests that are easy to maintain as well?
We will also investigate various mocking frameworks. With a mocking framework, we are able to really isolate objects in our application and focus our test on just very small parts of our application.
Furthermore, we will look at various ways to create modularized applications. We will look at examples in WPF and in ASP.NET MVC.
Lastly, we will look at a few examples and together we’ll discuss problems in those examples and suggest solutions to improve the maintainability, clarity and extendibility.
Quality assurance in the software development process
- Automated testing
S.O.L.I.D. object oriented design principles
- Naming conventions
- Clean code
- Single Responsibility Principle
- Open Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Injection Principle
- Unit Testing
- UI Testing
- Mocking frameworks