In this issue from October 2017: Great code produces beautiful errors; expression bodied members get more powerful in C# 7; why some like to measure lines of code even though it’s a poor metric; password guidance for the modern era; thinking about where your time goes on social media; and Larry Wall opines on programming languages you should know.
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.
Techniques
Always a way to improve the code you write every day.
Beautiful Errors
Good code generates the right results when given valid data. Great code generates useful diagnostics when something goes awry. In this blog post, Oren Eini talks about the importance of informative error messages and how he will reject code in a code review if it doesn’t communicate well.
Software and Updates
A new or upgraded tool can be a beautiful thing.
Expression-bodied Members in C# 7
The expression bodied member syntax introduced in C# 6 has been extended in the latest version of C#, allowing more concise goodness in your code. The syntax for expression bodied properties is particularly nice.
Being Professional
A great developer does more than just write great code.
Alternatives to Lines of Code
It’s always a bit disappointing to hear about yet another team where developer performance is measured by lines of code. The problem is that lines of code is a (very!) poor substitute for the things we really want to measure.
In this post, Erik Dietrich writes about the reasons why non-technical managers might gravitate towards lines of code as a metric.
See also
- A stack overflow answer I wrote in 2010 on the question What’s a fair productivity measurement technique for programmers?
- A blog entry I wrote in 2006 - What are you Measuring?
Staying Secure
Staying safe online and writing secure systems are both harder than we think.
Passwords Evolved: Authentication Guidance for the Modern Era
Troy Hunt (from www.troyhunt.com blogs about the way authentication has changed over time - from the very simple approach that was sufficient for the earliest time-sharing computers to modern requirements.
Wildcard
Sometimes the answer is random.
Are You Using Social Media or Being Used By It?
Here are a set of interesting (and confronting) questions. How much time do you spend on Social Media? How much of that time is spent doing the things you want to do, like stay in touch with friends and family? What’s the rest of the time spent on? Is this a good use of your time?
Video of the Week
Take some time to feed your mind.
Larry Wall: 5 Programming Languages Everyone Should Know
In this short video, Perl inventor Larry Wall offers his thoughts on which languages are important to know. He suggests JavaScript, Java, Haskell, C and Perl - but you really need to hear why he suggests them.
Comments
blog comments powered by Disqus