
Advance clean code skills to top industry standards by mastering core concepts and techniques, practicing with exercises, and using a style guide, automated tools, and human feedback.
This course builds clean code skills through code snippets, function-level improvements, project-level refinements, and tools, guiding you to write high-quality professional code throughout your career.
Explore clean code basics by focusing on the subfunction level and improving readability of short code snippets, with examples that prompt you to use values in code.
Improve your clean code skills by replacing explicit values with meaningful variable names, allowing a single source of truth for thresholds like minimum weekly hours for bonus and department identifiers.
Name complex expressions and break them into meaningful parts, such as total income and taxable income. Break down base cost, tax cost, and shipping cost to simplify total order cost.
learn to name variables for clarity and brevity by following five rules: convey meaning, be minimalist, stay consistent, use pronounceable names, and follow language conventions.
Declare variables as constants with const in JavaScript to ensure immutability. Place declarations as close as possible to their usage to reduce confusion when calculating item cost.
Refine clean code through hands-on refactoring in JavaScript and C#, emphasizing meaningful names, removing comments, using constants, and modularizing calculations like price after discount and total damage.
Study code smells like magic numbers, unclear names, and noisy comments; extract variables to simplify complex expressions and place constants near their use to improve readability.
Advance to the second module to upgrade your coding skills by learning how to write clean functions. Begin with the first lesson on a function's arguments list.
Group related function arguments into a data transfer object (DTO) to reduce a long argument list, convert to two parameters (target and weapon), and improve readability and clarity.
Identify duplicated code, refactor to extract common functionality, and centralize logic to improve readability and prevent bugs.
Identify when a function's body sits mostly inside an if statement, a design flaw that guard clauses fix by returning early and keeping the rest in the function scope.
Avoid function side effects by not mutating input data, like an item's price or the user's email and preferences, and use clear names or local variables for computed values.
Learn to fix inconsistent levels of abstraction by refactoring: extract category retrieval, emailing, and pdf export into high-level functions for clearer, more readable code.
Refactor long functions into shorter, well-named subfunctions to improve readability and debugging, using a C# snake game to show extracting obstacles, snake elements, and food into separate functions.
This lecture shows that a function should resemble an algorithm, using short plain-English steps to achieve a goal like processing an order, with attention to abstraction and refactoring.
Refactor clean code concepts with practical JavaScript and C# examples on GitHub, fix unclear names, improve parameter clarity, apply guard clauses, separate concerns, and deduplicate logic for health calculations.
Identify code smells such as long argument lists, duplication, confusing if clauses, side effects, and mixed abstraction; refactor toward guard clauses, shorter functions, and apply dry and kiss.
Explore the gray area of clean code, balancing rules on abstraction and comments to write high level code and upgrade your skills to industry standards.
Explore levels of abstraction, identify inconsistent abstractions in code, and evaluate refactoring strategies to weigh readability, consistency, and mental burden against complexity and the value of new functions.
Explore refactoring complex expressions by naming parts or using helper functions to improve readability, using a zombies game example to compare variables versus functions and discuss when to refactor.
Revisit comments as noise while highlighting cases where they’re necessary, such as deployment environment values, unavoidable explanations, deprecated code hints, and explaining optimizations and regexes.
Assess when comments improve code clarity and when they confuse readers, avoid documenting future work in code, and select meaningful, well-placed comments through practical examples.
Discover when to refactor to keep code intention clear and readable, balancing principles with practicality, and apply the five considerations for project-scale clean code.
Improve code readability by enforcing visual order: indent consistently, place properties before functions, and keep public before private, with consistent braces, line length, and whitespace and semicolon usage.
Group related code, databases, and project structure to build cohesive architecture; organize bank account and user classes, create an email class, and align tables and folders by purpose.
Upgrade your clean code skills by using const to signal non-changing values and by declaring explicit types in TypeScript, so constraints like numbers or strings reveal clearer meaning.
Explore design patterns as reusable solutions to common programming problems, using the facade pattern as a front facing interface that masks complexity, and the singleton for a single global instance.
Explore creational, structural, and behavioral design patterns, including singleton and facade, to learn reusable solutions and their four benefits: tested solutions, standardized solutions, easier communication, and high-quality code.
Explore the open-closed principle to extend software with new character types without changing existing code, using polymorphism to replace switch statements with extensible classes.
Apply dependency injection to supply an ai logger at construction, minimizing changes when switching from console to file logger, and use polymorphism to reduce changes.
Write unit tests to catch bugs early and safely guide refactoring, using arrange–act–assert, and consider edge cases. Explore test driven development (TDD) and the benefits and tradeoffs of testing.
Explore test driven development, writing tests first and using the red-green-refactor cycle to build code, though not always suitable, with benefits like focused goals, easier debugging, and better test coverage.
Apply clean code principles to scales by leveraging visual and functional order, specificity, and design patterns, while embracing tests, test-driven development, and open-closed principle to improve stability and change resilience.
Explore when not to write clean code and the factors that influence applying clean code practices, highlighting why this skill remains essential yet context-dependent.
Assess when refactoring for clean code is financially worthwhile and accept risk of bugs reaching end users, with one-time apps, legacy systems, and replacement scenarios.
Investing in high quality code reduces maintenance costs and empowers future changes, framing refactoring as a profit‑and‑loss decision aligned with the organization's goals.
Balance clean code, development time, and performance to maximize organizational value, avoiding premature optimization that degrades code quality while focusing on meaningful user experience.
Linking clean code to value for the organization, professionals prioritize the needs of the organization over personal preferences, and the module offers practical steps to start improving coding skills today.
Discover automated tools and human feedback to elevate clean code, improve your team's standards, and guide your journey toward top industry coding.
Harness IDE-integrated tools for refactoring, renaming, and autocomplete to improve code quality. Apply code analysis, prettier formatting, and linting to improve and fix JavaScript code, plus IDE extensions.
Improve clean code skills through pair programming and reviews guided by human feedback. Clarify tasks, discuss edge cases, and assess flow, simplicity, future compatibility, and predictability.
Promote a clean code culture and enforce high-quality reviews while adopting the attached style guide as a baseline for team best practices, with room for language-specific extensions.
Refine code through large-scale and small-scale refactoring, documenting changes and weighing risks; apply incremental improvements guided by the Boy Scouts principle to leave the code better than found.
Apply automated tools and human feedback to improve your code quality and conduct code reviews. Foster a clean code culture, follow the star guide, and practice Boy Scout refactoring.
Write and maintain more code, make better design decisions, and seek continuous improvement to master clean code through simplicity, clarity, and focus.
Improve your coding skills by learning clean code and beyond from a seasoned team leader, with over 13 years of experience in the industry.
This course will show you practical techniques you can use today to significantly upgrade your code's level.
But that's not all! This course will take you beyond just clean code techniques, to professional coding - we'll learn various of other factors that will make your code stand at the highest industry standards.
As mastering coding is a life long quest, I will also show share with you tools that will help you continually advance your coding skills throughout your career.
This course was build with the intention that its students, of all levels, will improve their coding skills and become experts in writing high quality code over time, including clean code. It will give you the basic and advance concepts and techniques, and will show you how to advance further.
We will look at various techniques to improve your functions, your solutions, and even your teammates coding level!
We'll dive deeper and deeper to achieve a complete understanding on what it takes to write clean code, and how it's done in practice.
This course will teach you clean code and much beyond.