
Sufficient Design - icey
https://elearning.industriallogic.com/gh/submit?Action=PageAction&album=blog2009&path=blog2009/2010/sufficientDesign&devLanguage=Java
======
ThomPete
"...some code simply doesn't need an excellent design..."

If that is the case then the question really is what value is that specific
feature to the product.

~~~
icey
How perfect does the code need to be that sends people forgotten password
links?

~~~
ThomPete
Pretty perfect.

~~~
icey
Oh please. Well enough to work != perfect. You don't need to spend 10 hours
trying to figure out every possible edge case to sending an email with a link
in it. If it works 99.9% of the time, you can manually handle the few cases
where it doesn't.

~~~
CodeMage
Actually, he's right. The problem is that the example you chose isn't very
good for the point you're trying to make.

First of all, forgotten password management is extremely important. You don't
want to lose those users.

Second, all sorts of things can go wrong with e-mail. I don't often find
myself agreeing with Jeff Atwood, but he nailed it in his post:
[http://www.codinghorror.com/blog/2010/04/so-youd-like-to-
sen...](http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-
email-through-code.html)

------
gfodor
The problem with advice like this, while valid, is it very quickly turns into
an excuse for sloppiness.

~~~
CodeMage
That's probably the main reason why people keep rephrasing this same advice
all the time. Even though many others have said the same thing before the
author X got to it, he or she has seen all that stuff misinterpreted and used
as an excuse for shoddy work. So naturally the author X decides to tell it
again, but this time in an even clearer way. Redundancy out of optimism ;)

