This is a re-post of the article I wrote for the Lullabot blog.
How can more maintainable custom code in Drupal be written? Refactor it to follow SOLID software design principles. As long SOLID purity isn’t pursued into an endless rabbit hole, SOLID principles can improve project maintainability. When a project has low complexity, it is worthwhile to respect these principles because they’re simple to implement. When a project is complex, it is worthwhile to respect these principles to make the project more maintainable.