I’ve been struggling with SSMS losing intellisense, seemingly randomly, for months now. Blowing away the local settings cache and reinstalling would help for a bit, but it kept coming back, er, going away. I was losing my serenity. Special thanks to my friend Capt’ Quacks for figuring out that intellisense and SQLCMD mode don’t play well together.
Scott Locklin on the wisdom of rules 6 and 17
One of the valuable things about popular but boring languages is that the code has been traversed many times, and routine stuff you’re likely to use in production is probably well debugged… The other benefit to boring languages is people concentrate on the problem, rather than the interesting complexities of the language itself.
When a developer says next week, they mean Friday. When Sales hears next week, they think Monday. Plan accordingly.
With apologies to Imagine Dragons (and everyone, really).
I’m waking up to cache and JS
I tail my log and I trace my REST
I’m breathing in the CSS
(unnecessarily long and deep breath)
“When people didn’t think about quality until they were 6 weeks in, they didn’t know how to do it anymore…you get too far in and you never recover.”
Nick Van Weerdenburg explains why quality matters on day 0 of your development project.
…brilliantly summed up by Alexey Golub in “Unit Testing is Overrated”.
My main complaint is that they greatly expand the complexity of the code with interfaces and abstractions that only exist for the sake of the unit tests, without actually testing the application the way it will be used. Users don’t care how high your code coverage is if the app doesn’t work.
He comes out swinging right after the bell:
Focusing on unit tests is, in most cases, a complete waste of time.
Kinder, gentler version:
If you treat unit testing as a goal in itself, you will quickly find that, despite putting a lot of effort, most tests will not be able to provide you with the confidence you need, simply because they’re testing the wrong thing. In many cases it’s much more beneficial to test wider interactions with integration tests, rather than focusing specifically on unit tests.
Writing high-level tests that are driven by user behavior will provide you with much higher return on investment in the long run