Core Coding Principles
- Development
- Apr 29, 2025

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
Who Should Attend
Target Audiences
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

DevFluence .
Software Developer
Rating Distribution
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!
- Random Picks
- Popular
- Hot Reviews
- Non-Profit Google Grant- Ultimate Non-Profit Approval Guide
- Life Insurance Annuity Ultimate Buyer’s Guide
- 3DS Max Tutorial. Learn The Art of Modelling and Animation
- Company Valuation Financial Modeling
- How to Draw Cute Thanksgiving!
- Step-By-Step Stock Market Analysis and Real-Time Trades
- 3Ds MAX + VRAY 5 + Interior 3D Rendering
- Beginner Vizrt Artist Training
- 1YouTube Masterclass The Best Guide to YouTube Success
- 2Photoshop CC- Adjustement Layers, Blending Modes Masks
- 3Personal Finance
- 4SolidWorks Essential Training ( 2023 2024 )
- 5The Architecture of Oscar Niemeyer
- 6Advanced Photoshop Manipulations Tutorials Bundle
- 7Polymer Clay Jewelry Making Techniques for Beginners
- 8SEO for Web Developers
- 1Linux Performance Monitoring Analysis Hands On !!
- 2Content Writing Mastery 1- Content Writing For Beginners
- 3Media Training for PrintOnline Interviews-Get Great Quotes
- 4Learn Facebook Ads from Scratch Get more Leads and Sales
- 5The Complete Digital Marketing Course Learn From Scratch
- 6C#- Start programming with C# (for complete beginners)
- 7[FREE] How to code 10 times faster with Emmet
- 8Driving Results through Data Storytelling