|Perl: the Markov chain saw|
There are a few of good elements to creating a successful program, one of them is the usability/functionality, one of them is style.
If your program is meets the functional requirements, there is still maintaince, and as programmes complexity grows and evolves, the ability to find all the bugs, all the logic flaws becomes harder.
I learned this in CS-101 in my 1st year of uni.
Previous to uni i was a self taught programmer who could write programmes that were completely functionally 100% to requirements, and i had the arrogance to ignore comments, tell people what i was doing was the right way.
I went off to uni, and discovered, after doing an overnighter debugging my pascal telephone billing programme that style was very important.
Sure style is not so important when your writing throw away stuff, and perhaps not so when you're writing 10 lines, but as the complexity increases, the style in which you programme becomes more important.
One peice of advice that has stuck in my head from a very smart and much respected uni lecturer of mine was you just cant account for every possibility when programming, you just cant. People will use your code in ways you've never thought of, they will submit data you've never thought of. Again, we're not talking about 10 lines here, we're talking about programmes that are "complex" that interact with other programmes/systems.
The ability of being able to find bugs and logic flaws is partly a function of how you develop your style.
Most people programme in the easiest way for them, and its partly true, the functionality of your programme is the ultimate goal, who cares how you get there? Posting code here is an implicit request for review, of which the community is more than willing, infact eager to do. The comments from which, can make it easier/quicker to get there for your next design.
There are a couple of hundred saints, there are gods, maintainers, and people coming up the ranks to sainthood, each has a different level of experience, each may have something to say that can be reviewed by other peers.
Dismissing comments out of hand is most of the time not a good way to learn, grow and increase skills.
Not only do we post comments to help others, we post to be helped ourselves. if i post something that is not quite right, I'm confident that someone will post a followup to explain, correct where i am wrong.
so I trust you will focus more on the question and criticize my style a bit less.
Really, people here are not making personal attacks against the author, constructive critisim will be generally backed up by examples, and expln's as to why it could be done better. you wont change that here, you'll just piss people off, and ultimately, you'll get poor responses to your posts..
Experience here on PM, is partly a function of how peers have reviewed your comments/code, you can only ignore them at your peril. We want to help, if you dont want to be helped, thats fine and no problem, just dont post, read instead.