Every year I work with programmers who overcomplicate dependency injection. This causes stress and it influences other programmers to not even try this technique at all. I’d like to put your mind at ease with some advice to keep things simple.
I just learned about
zmv and I love it. Copying and renaming paths with regex? Very handy, indeed.
People frequently ask me for “advanced TDD”. I have good news and bad news.
By following a few simple design principles, you can make code safe to use without making it difficult to examine nor adapt to new purposes. Give me guard rails, not prison bars!
If you’re thinking about starting to use Contract Tests, don’t look for tools, because they don’t help you with the most important aspect of Contract Tests, and they might even distract you from it.
Years ago, I learned a simple heuristic to discover when subclasses are ready to die. In functional programming, it appears that we can use that same heuristic to surprisingly good effect!
I’ve been teaching programmers about the value of isolated tests for a long time, and recently I’ve seen increasing resistance to the idea. I worry that this comes partly from having presented motivations and reasons that tends towards the overly-abstract, ironically enough. Perhaps I can improve matters by returning to the concrete issues and constraints that led me to being exploring this idea in the first place.
It took a day, but I managed to learn how to deploy a Jekyll blog to Heroku using GitLab CI, even though I’d never used GitLab CI before. This not only provides a tutorial, but also an example of applying a Learning Tests approach to something other than code running in a single process.
We have standard workflows in our systems that programmers copy and paste from module to module in order to achieve some kind of standard behavior. Programmers call this boilerplate. If they extract the standard workflow from the boilerplate, then the copy/paste risk goes away, it becomes easier to gain confidence in the code, and everyone wins.
Many programmers believe that tests have special permission to repeat themselves, arguing that this repetition makes those tests “simpler” or “easier to read”. I challenge that claim in this free preview article at The jbrains Experience, where members get personalized consulting and answers to their questions.