HOME > Development > Core Coding Principles

Core Coding Principles

  • Development
  • Apr 29, 2025
SynopsisCore Coding Principles, available at $74.99, has an average r...
Core Coding Principles  No.1

Core Coding Principles, available at $74.99, has an average rating of 4.8, with 101 lectures, based on 11 reviews, and has 146 subscribers.

You will learn about 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 This course is ideal for individuals who are C# Developers who are wanting to improve their ability to write good, clean, maintainable code It is particularly useful for C# Developers who are wanting to improve their ability to write good, clean, maintainable code.

Enroll now: Core Coding Principles

Summary

Title: Core Coding Principles

Price: $74.99

Average Rating: 4.8

Number of Lectures: 101

Number of Published Lectures: 101

Number of Curriculum Items: 101

Number of Published Curriculum Objects: 101

Original Price: R1,599.99

Quality Status: approved

Status: Live

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
  • Target Audiences

  • C# Developers who are wanting to improve their ability to write good, clean, maintainable code
  • 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

  • Course Curriculum

    Chapter 1: Welcome to Core Coding Principles

    Lecture 1: Introduction

    Lecture 2: Welcome to Core Coding Principles

    Chapter 2: Axioms and Lenses

    Lecture 1: Axioms: What are they, why talk about them?

    Lecture 2: Axiom 1: Managing Complexity is at the Heart of Software Development

    Lecture 3: Axiom 2: Code is Required for any Sufficiently Complex Problem

    Lecture 4: Axiom 3: Coding is High Read, Low Write System

    Lecture 5: Lemma 1: Code Quality Matters

    Lecture 6: Axiom 4: We can use Lenses to Evaluate Code

    Lecture 7: House of Lenses: How Lenses Relate to One Another

    Lecture 8: Notes, Further Reading and Exercises

    Chapter 3: Values

    Lecture 1: Introduction: What are Values?

    Lecture 2: Communication

    Lecture 3: Simplicity

    Lecture 4: Flexibility

    Lecture 5: End Note

    Lecture 6: Notes, Further Reading and Exercises

    Chapter 4: Concept: Coupling & Cohesion

    Lecture 1: Introduction

    Lecture 2: Coupling Overview

    Lecture 3: Types of Coupling: Semantic and Data Coupling

    Lecture 4: Semantic Coupling 1: Content Coupling

    Lecture 5: Semantic Coupling 2: Common Coupling

    Lecture 6: Semantic Coupling 3: Subclass Coupling

    Lecture 7: Semantic Coupling 4: Temporal Coupling

    Lecture 8: Semantic Coupling 5: Control Coupling

    Lecture 9: Semantic Coupling 6: External Coupling

    Lecture 10: Data Coupling 1: Data Stamp Coupling

    Lecture 11: Data Coupling 2: Simple Object Coupling

    Lecture 12: Data Coupling 3: Simple Data Coupling

    Lecture 13: Cohesion

    Lecture 14: Encapsulation

    Lecture 15: End Note

    Lecture 16: Notes and Further Reading

    Chapter 5: Concept: Refactoring

    Lecture 1: What is Refactoring?

    Lecture 2: The Practice of Refactoring

    Lecture 3: Refactoring Demo 1: Rename

    Lecture 4: Refactoring Demo 2: Move

    Lecture 5: Refactoring Demo 3: Delete

    Lecture 6: Refactoring Demo 4: Extract and Inline

    Lecture 7: Refactoring Demo 5: Summary and Thoughts

    Lecture 8: Notes, Further Reading and Exercises

    Lecture 9: Worked Example: Tennis Refactoring Kata Intro

    Lecture 10: Worked Example: Tennis Refactoring Kata Extended

    Chapter 6: Concept: Cyclomatic Complexity

    Lecture 1: Cyclomatic Complexity (and Nesting)

    Lecture 2: Demo Part 1: Refactoring a Sample Project to Reduce Cyclomatic Complexity

    Lecture 3: Demo Part 2: Move Parameter to the Constructor, Introduce Better Types

    Lecture 4: Demo Part 3: Further Reduce Parameters by Introducing a Class

    Lecture 5: Demo Part 4: Final Test Refactorings – Introducing a SUT Builder

    Lecture 6: Further Reading and Extercises

    Chapter 7: Principle: Kent Becks Development Principles

    Lecture 1: Introduction

    Lecture 2: Local Consequences

    Lecture 3: Minimize Repetition

    Lecture 4: Symmetry

    Lecture 5: Declarative Expression

    Lecture 6: Rates of Change

    Lecture 7: Summary

    Lecture 8: Further Reading and Exercises

    Chapter 8: Heuristic: DRY

    Lecture 1: What is DRY and what is it not?

    Lecture 2: Common Duplication Forms

    Lecture 3: Pitfalls of DRY

    Lecture 4: Notes and Further Reading

    Chapter 9: Heuristic: Four Rules of Simple Design

    Lecture 1: Introduction: Kent Becks Formulation

    Lecture 2: Martin Fowlers Formulation

    Lecture 3: J.B Rainsbergers Formulation

    Lecture 4: Applying the Four Rules of Simple Design

    Lecture 5: Notes, Further Reading and an Exercise

    Chapter 10: Principle: SOLID

    Lecture 1: Introduction

    Lecture 2: Single Responsibility Principle

    Lecture 3: Exercise: Single Responsibility Priciple

    Lecture 4: Open/Closed Principle

    Lecture 5: Exercise: Open/Closed Principle

    Lecture 6: Liskov Substitution Principle

    Lecture 7: LSP Example: Invariants

    Lecture 8: LSP Example: Pre- and Post- Conditions

    Lecture 9: LSP Furthur Thoughts

    Lecture 10: Exercise: Liskov Substitution Principle

    Lecture 11: Interface Segregation Principle

    Lecture 12: Dependency Inversion Principle

    Lecture 13: Summary and Final Thoughts

    Lecture 14: Notes, Further Reading and an Exercise

    Chapter 11: Rule: Clean Code

    Lecture 1: A Word on Clean Code

    Lecture 2: What is Clean Code?

    Lecture 3: The Scout Camp Rule

    Lecture 4: Guidelines for Cleaning Code

    Lecture 5: Coding Standards

    Lecture 6: Naming: Introduction

    Lecture 7: Naming: A Four Stage Process of Naming

    Lecture 8: Naming Guidelines – General

    Lecture 9: Naming Guidelines – Classes

    Lecture 10: Naming Guidelines – Methods/Functions

    Instructors

  • Core Coding Principles  No.2
    DevFluence .
    Software Developer
  • Rating Distribution

  • 1 stars: 0 votes
  • 2 stars: 0 votes
  • 3 stars: 0 votes
  • 4 stars: 3 votes
  • 5 stars: 8 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!