David Michael Gregg - The Physics of Software Design
David Michael Gregg introduces Meilir Page-Jones’ software design principle of “connascence” - Popularized formerly by Jim Weirich.
Learning how to write quality, maintainable code has been a question left to intuition, personal reinvention (after repeated failure), and the memorization of maxims such as “Tell Don’t Ask”, “Feature Envy”, SOLID, et al.
But can we compare these maxims – these learned lessons – across paradigms, and arrive at a generalization which serves as a sort of guiding “Grand Unified Theory of Software Development” (Jim Weirich)?
Some of this work has been done, and the resulting concept and vocabulary is not only simple to explain (and immediately applicable) to early learners, but can serve as a metric for quantifying maintainability and refactoring opportunities at all levels of software architecture.
A brief tour of building a speedy Rails app with Turbolinks and Stimulus.
Matt Swanson leads teams and build products for customers at SEP, a software product design and development agency in Carmel. He’s been using Ruby in some capacity since 2010. His favorite Ruby method is Array#compact.