Design Principles, Best Practices and Design Patterns for C (or Procedural Programming in general)? [closed]

Information hiding – as espoused by Parnas (Software Fundamentals). Careful management of headers and visibility: Everything in a source file that can be hidden from the outside world should be; only the documented external interface should be exposed. Everything that is exposed is declared in a header. That header is used where the functionality is … Read more

What is the dependency inversion principle and why is it important?

What Is It? The books Agile Software Development, Principles, Patterns, and Practices and Agile Principles, Patterns, and Practices in C# are the best resources for fully understanding the original goals and motivations behind the Dependency Inversion Principle. The article “The Dependency Inversion Principle” is also a good resource, but due to the fact that it … Read more