Core Coding Principles

This course is for developers who want to improve their ability to write good, clean, maintainable code

Ratings: 4.66 / 5.00




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