The course it totally hands-on and Developers will learn many techniques that they can apply immediately to real-world projects. It is designed to help Developers write well-crafted code. By well-crafted code we mean code that is testable, maintainable, clean, and that expresses the domain business.
Why Attend
Write Clean Code is hard. Cleaning existing code is even harder. Attend if you want to:
- Learn the Software Craftsmanship attitude to development
- Write clean code that is easy to understand and maintain
- Become proficient in TDD
- Use TDD to focus your code on business requirements
- Understand design principles that lead to clean code
- Learn how to avoid over engineering
- Gain confidence in working with legacy code
In this workshop, you will also learn about:
- Become more proficient in driving well-crafted code via tests
- Understand design principles that lead to clean code
- Increased confidence in working with legacy code
Who Should Attend
Software Developers that:
- are familiar with at least one Object-Oriented language
- are able to understand Java C#
- can write and execute unit tests using a framework (such as JUnit, NUnit, etc.)
- have a basic understanding of mock objects
Practical Details
- Language: English
- Experiential, hands-on, interactive online learning with practical examples
- Participants will be awarded a Mozaic Works certificate of completion
This Learning Program is Available on Demand
Agenda
- TDD Lifecycle and the and Outside-in TDD
- Writing unit tests that express intent, not implementation
- Using unit tests as a tool to drive good design
- Expressive code
- Testing and refactoring Legacy Code
- Introduction to SOLID Principles and Domain-Driven Design
The course if fully hands-on and developers will be writing a lot of code.
More details and full agenda here
Prerequisites
Developers must:
- Bring their own laptops
- Have a development environment consisting of: their favorite Object-Oriented language, a unit test framework and a mocking library
- Be able to create projects, build source code and run test cases in their development environment