Working Code
012: Idiomatic Code
Many programming languages have a sense of idiomatic code: the "blessed way" to solve a particular set of problems with a language's native constructs. These patterns exist to help people work more effectively together; and, to help new developers adapt to the language. But, unfortunately, the expression of idiomatic code in some communities shifts from "carrot" to "stick", getting used to separate the "right" way from the "wrong" way, thereby creating an implicit division between the "good developers" and the "bad developers".
The ColdFusion / CFML community has never had a sense of "idiomatic code". And, ColdFusion developers are never burdened by the homogeneity of solutions that bubble up to the surface (such as they do in other languages). This can lead to a kind of "beautiful chaos" in which teams find the right tool for the job and spend their time focusing on the needs of the customer rather than worrying about any particular standard.
Is that a good thing or a bad thing?
This week, the crew talks about idiomatic code, what they think it really means, and how it can serve to both help and hurt a programming community.
Triumphs & Failures
- Adam's Triumph - He's not on call this week! And that feels like a sweet, sweet triumph!
- Ben's Triumph - The moment he realized that he was going to miss a deployment deadline, he took a step back and figured out how to properly "descope" the work such that he could meet his deployment deadline by releasing a smaller - yet still meaningful - set of features. He saw this as a victory in the agile development mindset.
- Carol's Triumph - She's going on vacation to Lake Tahoe for some fun in the snow - something she rarely has a chance to do in hot, hot Georgia.
- Tim's Triumph - For his entire life, Tim has been parting his hair left-to-right. But, in a recent moment of brashness, he threw caution to the wind and tried parting his hair right-to-left. This seemingly small tweak ended up being a total game changer! And, just as Clark Kent transformed into Superman with a change in part, so has Tim transformed into a more stunning, beautiful version of himself!
- He also figured out why his Redis code wasn't working. Ironically, it had to do with how his tests were running (and how they were mutating the shared data).
Notes & Links
- Guido van Rossum - author of the Python programming language; and, a big proponent of idiomatic code (in Python).
- Rick Waldron: Principles of Writing Consistent, Idiomatic JavaScript - an opinionated guide to writing JavaScript.
Follow the show! Our website is workingcode.dev and we're @WorkingCodePod on Twitter and Instagram. New episodes weekly on Wednesday.
And, if you're feeling the love, support us on Patreon.