In this episode: Five different ways to write code that’s hard to test; dependency injection with Simple Injector; learning the benefits of regular deployment at RedGate; Symantec antivirus was insecure; the futility of trying to remember every detail; and, programming with good unit tests.
Sharpen the Saw is a somewhat delayed repost of a semi-regular newsletter of information I publish for the professional development of software developers. While targeted primarily at developers working with the Microsoft technology stack, content will cover a wider range of topics.
To subscribe, send me an email and I’ll put you on the list. Membership is moderated.
5 Easy Ways to Write Hard-to-Test Code
You’d have to go a long way to find a professional developer writing hard to test code on purpose - yet it is still remarkably easy to find hard to test code.
In this DZone blog post, Tamas Gyorfi covers five common coding techniques that make code much harder to test. Even though his examples are written in Java, the lessons are appropriate across many platforms.
Software and Updates
Dependency injection is a critical technique for building composable applications with a flexible architecture.
Simple Injector is a worthy alternative to Ninject that should be considered for new projects.
The Benefits of Regular Deployment
Though published a few years ago in 2012, James Moore’s blog about regular deployment at Red Gate is an instructive read. He talks about the journey that they’ve taken - from one project that failed to deliver expected results to lessons learned about The Toyota Way.
Symantec antivirus bug allows utter exploitation of memory
Norton is one of the mainstays of the tech field, with a substantial collection of security and support tools going back to the heady days when MS-DOS 3 was the latest greatest thing.
Unfortunately, their Anti-Virus tool suffers from a critical flaw - one that can result in the execution of arbitrary code in a file when emailed without any user action.
The flaw exists in code injected by Symanetic into the kernel (and that, therefore, run with unlimited privilege) across all platforms.
You Can’t Remember Every Detail, So Stop Trying
Keeping track of the myriad of details involved in developing any non-trivial application is a real challenge - there’s more information than anyone can hold in their head at one time.
In this article, Cindy Potvin talks about what you can do about this.
Video of the Week
Programming with GUTs
Noted author and presenter, Kevlin Henney gives a very interesting talk on programming with GUTs - Good Unit Tests.
What is Sharpen the Saw?
This is a semi-regular newsletter of information for the professional development of software developers. While targeted primarily at developers working with the Microsoft technology stack, content will cover a wider range of topics relevant to developers on any platform.
Please feel encouraged to share these emails with anyone else you think might be interested.
To subscribe, send an email to
firstname.lastname@example.org with the command
subscribe in the subject line. Membership is moderated.
To unsubscribe, email the command unsubscribe.
For more list options, send the command help or visit http://nichesoftware.co.nz/mailman/listinfo/sharpen.the.saw_nichesoftware.co.nz.