Interface Segregation Principle (ISP) in C
Learn the Interface Segregation Principle with practical C examples. See how splitting bloated interfaces into small, focused ones prevents unnecessary dependencies.
Learn the Interface Segregation Principle with practical C examples. See how splitting bloated interfaces into small, focused ones prevents unnecessary dependencies.
Learn the Dependency Inversion Principle with practical C examples. See how depending on abstractions (function pointers) instead of concrete implementations makes code flexible and testable.
Learn the DRY principle with practical C examples. See how eliminating code duplication with functions and macros makes code easier to maintain and less error-prone.
Learn the KISS principle with practical C examples. See how simple, straightforward code is easier to understand, debug, and maintain than clever or over-engineered solutions.
Learn the YAGNI principle with practical C examples. See how building only what you need today avoids wasted effort, code bloat, and unnecessary complexity.
Learn the Composition Over Inheritance principle with practical C examples. See how embedding structs and assembling behavior creates more flexible and maintainable code than deep hierarchies.
Learn Separation of Concerns with practical C examples. See how dividing code into distinct sections — each handling one concern — makes software modular, testable, and maintainable.
Learn to identify bloater code smells in C: long functions, long parameter lists, magic numbers, primitive obsession, and large files. Each with examples and fixes.
Learn to identify change-preventer code smells in C: duplicate code, shotgun surgery, tight coupling, and hardcoded values. Each with examples and practical fixes.
Learn to identify dispensable code smells in C: dead code, speculative generality, comments as deodorant, deep nesting, and global variable abuse. Examples and fixes included.