Core Coding Principles
This course is for developers who want to improve their ability to write good, clean, maintainable code
Description
The course is for developers who are looking to improve their ability to write good, clean, maintainable code. In it, we cover key coding principles that help to develop a language for discussion within the team. These include coupling and cohesion, the SOLID principles, DRY.
Note: the course examples and exercises are in C#, but the theory covered is applicable in all OO languages.
Goals -
• To get developers thinking about code quality
• To provide developers with the tools they need to discuss and evaluate code quality
• To get developers to build alignment about what “good” code is
• To provide developers with some guidelines about how to go about writing better code
Course Structure -
The following topics are covered:
• Preparation – what is the team’s existing understanding of good code?
• Lenses for Thinking about Code Quality - Thinking about programming like Kent Beck:
Core Values of Software Development
Key Principles
The Four Rules of Simple Design
• Cohesion and Coupling
• DRY
• SOLID Principles:
Single Responsibility Principle
Open-Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
• The Practice of Writing Clean Code:
Coding Standards
Meaningful naming
Functions
Comments
Learning Outcomes
At the end of this course developers will be able to:
Understand why code quality is important and how it enables effective software development
Describe key coding principles such as cohesion & coupling, DRY, and the SOLID principles
Reason about code quality using a variety of lenses
Discuss code quality ideas among a team and be able to, as a team, work towards alignment and agreement on the team’s coding standards
Write cleaner, more readable, more communicative, more flexible code than before
What You Will Learn!
- Understand why code quality is important and how it enables effective software development
- Describe key coding principles such as cohesion & coupling, DRY, and the SOLID principles
- Improve your reasoning ability about code quality by using a variety of lenses
- Write cleaner, more readable, more communicative, more flexible code than before
- Discuss code quality ideas amongst a team and be able to, as a team, work towards agreement on a team’s coding standards
Who Should Attend!
- C# Developers who are wanting to improve their ability to write good, clean, maintainable code