Core Coding Principles
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 Beck's 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 Beck's Formulation
Lecture 2: Martin Fowler's Formulation
Lecture 3: J.B Rainsberger's 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
- 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!
You may also like
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024
- Top 10 Gardening Courses to Learn in November 2024