Description
It's a constant debate.
How do you build a helper library?
At one end of the spectrum we have Runscope CEO John Sheehan who thinks that helper libraries are evil and shouldn't exist at all. At the other we find helper libraries that don't look or smell anything like the API. And somewhere in the middle we have helper libraries that are so close to the API itself that they are nothing more than a thin veneer.
Which is better? Who’s right? The real question to me is how idiomatic should a helper library be? Should a Django library make a Django developer feel comfortable, or should she have to read the API docs to understand how it works? Should a Python library look RESTful, or should it look like a hierarchy of classes?
At our company, we maintain two libraries. They both have advantages and disadvantages, they appeal to different developers, and sometimes even the same developer at different times.