IMO, the prime consideration must be to know and understand the problem you're trying to solve (with your script &/or module) - only then can you start to look at how you might implement it.
A user level that continues to overstate my experience :-))