Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Core Coding Principles
Rating: 4.5 out of 5(18 ratings)
196 students

Core Coding Principles

This course is for developers who want to improve their ability to write good, clean, maintainable code
Created byDevFluence .
Last updated 12/2022
English

What you'll 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

Course content

11 sections101 lectures9h 4m total length
  • Introduction1:39

    This course is aimed universally at all software developers that are working in the Object Oriented paradigm; the examples and the exercises are in C#, so it is most suited to developers that are working in C# or have much familiarity with C# (although the principles are equally applicable in Java, Python or other OO languages). The concepts covered are core to development, so they will be useful for those just starting out, but still useful for the most experienced professional - we encourage you, if you are this person, to engage more deeply with the exercises to try and stretch your understanding of the concepts.

    The course is designed to go from underlying concepts through to the most concrete of rules - it starts out conceptually, and then we build upon the concepts to get to more concrete ideas. We highly recommend going through sections 2 and 3 sequentially (Axioms and Lenses, and then Values), and after that you can either go sequentially (recommended) or you can jump between chapters. However, some demos assume you have seen the previous few sections, and we do assume you know the previous concepts or ideas covered.

    For each section, there are a set of videos that cover the theory, and in some cases a demo that shows how that theory is applied. Then, very importantly, there are exercises that we highly encourage you to do. These will help you to embed the theory. The learning cycle applied in this course goes like this: theory (videos) -> experimentation (exercises) -> practice (you do this in your daily work) -> reflection (in your cohort, hopefully, or on your own). This means the course can be done over a period of months, with time set aside each week for videos and exercises. Then, try to apply your learning in your daily programming tasks, or in a project you are working on. Finally, meet back together with your cohort and discuss how that concrete experience has gone - this will help you to reflect what you have learned. Alternately you can do this course as an intensive three to five day program, but in that case it's even more important that you do the exercises to practice what you're learning.

    Please download the attached notes; these are the notes for the entire course and serve as a supplement to the video material. Each section will indicate what pages to read from the notes, and some will indicate what exercises to do from the notes (while others will have exercises not included in the notes).


  • Welcome to Core Coding Principles2:33

Requirements

  • Developers can code in C#
  • Visual Studio 2022

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

Who this course is for:

  • C# Developers who are wanting to improve their ability to write good, clean, maintainable code