Shitlist Driven Development
Recently the team I work with completed a project to allow Shopify to run in multiple datacenters. This project was a refactoring project in disguise. When you undertake large refactoring of a code-base with 100s of developers and 100,000s of lines of code, you can’t align by sending an email. The merge-conflicts a single pull request would entail makes me shiver. When deprecating in a large code-base the only way to reliably avoid new deprecated behaviour is a failing test that tells you what to do. Otherwise the pace that new deprecated code is introduced can easily outpace the speed at which you can remove them, or be a massive source of frustration. Typically deprecations come in the form of soft warnings: Logging to stderr, capital letters and exclamation marks in the documentation, or a legacy prefix to the method or class name. At the end of the day, everyone needs to get work done, and if they see a code-path already being used from 10 places in the code-base despite these soft
Shitlist Driven Development Dec 2016 Recently the team I work with completed a project to allow Shopify to run in multiple datacenters . This project was a refactoring project in disguise. When you undertake large refactoring of a code-base with 100s of developers and 100,000s of lines of code, you can’t align by sending an email. The merge-conflicts a single pull request would entail makes me shiver. When deprecating in a large code-base the only way to reliably avoid new deprecated behaviour is a failing test that tells you what to do. Otherwise the pace that new deprecated code is introduce
related reading
- How To Do Lessalexturek.com
- How I ship projects at big tech companiesseangoedecke.com
- Mistakes engineers make in large established codebasesseangoedecke.com
- Write code that is easy to delete, not easy to... — programming is terribleprogrammingisterrible.com
- A Bunch of Programming Advice I'd Give To Myself 15 Years Ago | Marcus' Blogmbuffett.com
- Thoughts on slowing the fuck downmariozechner.at
- A successful Git branching model >> nvie.comnvie.com
- Why I Ignore The Spotlight as a Staff Engineer - Lalit Magantilalitm.com
- How to write complex softwaregrantslatton.com
- Always Be Shipping - Adam Drakeadamdrake.com
- Software development topics I've changed my mind on after 10 years in the industrychriskiehl.com
- Agile for developers: Refactoring codeabout.gitlab.com