Code Quality and Design
By Damon German
BS (Computer Science)
BS (Chemistry, Minor in Mathematics)
AI Engineering Certified (AiE)
Registered Polysomnographic Technologist (RPSGT)
Feedback and Suggestions
I welcome any feedback or suggestions for improving this guide. Please feel free to reach out with your thoughts or questions.
Introduction
This document is a practical guide to help with software development mentoring and code review. It is a selected collection of principles, patterns, and examples I have gathered over the years. It's not meant to be a complete textbook that covers everything.
Most of the ideas and material presented here are not my own, but are drawn from books and articles I have read (sources are mentioned throughout). I do not claim original credit for these concepts; this guide is a collection of insights gathered from a wide range of respected sources.
Table of Contents
Code Quality Design
Object Oriented Programming
Core Design Principles
Design Patterns
Dependencies and Coupling
Implementation Techniques and Heuristics
Functional Programming
Performance
Language Specifics (C#/.NET)
Anti-Patterns and Code Smells
Game Development
Testing
Python
Glossary
Appendices