The following programming anecdote was posted by a former colleague on his Facebook page today:
A couple of years ago a fellow developer was asked to take some data and export it to CSV format. He took some time and researched a library. After, the manager/architect/lead developer (all the same person), questioned why he took that time, and why he didn’t just string.Join() them together and move on. He rattled off a few special cases, escaping characters etc. and stood by his decision though the person questioning still thought it a poor one. About once a month since then I hear a new story about home-grown, handmade CSV functionality breaking because it didn’t account for a case, character or something previously unexpected.
It’s a reminder to me that no matter how simple the task appears to be, a thought should be given to it’s longevity, future usage, and potential expectations long after the initial case for creation has been forgotten. A small investment now can go a long way.
“The only way to go fast is to go well” For those curious, the chosen library at the time: http://kbcsv.codeplex.com/