I just wanted to post a link to this great article, it uses a great little example to teach a principal we should all be conscious of when writing methods….
This is a quote from the last paragraph of the post….
“Whenever you write a method think about the contract of that method. What burdens are you imposing upon the caller? Are they reasonable burdens? The purpose of a method should be to make the caller’s life easier; the original version of Lines() makes life harder on the caller. The new version makes life easier. Don’t write high-maintenance methods.”