I've had several of these happy events. With my current project, I chose at the beginning to use Object-Oriented Perl, mostly just to learn it, but it also seemed to fit. I've had some training in OO and in Design Patterns, but have never implemented anything with it.
What a nice surprise when changes that would have taken days now take minutes!
However, I know that my code could use some improvement. You can always make it more flexible, faster, give it better error handling, etc. I believe that admitting that fact alone makes you a
better programmer!
There is definite satisfaction in finding you've written "good code"...
On a tangent...
The company I work for has a large development project running using Extreme Programming (XP). It stresses good programming, but from a slightly different angle. Here's just a part:
Break your goal into small piecs
Work in pairs
Design your test cases (be thorough)
first
Write your code
Test your code
In many cases, later you will find that you could write that method better, faster, etc. With XP, you can now rewrite the method, and you already have the test cases to verify that you didn't break it.
Moral: You can always write better code. If you know from the beginning your going to rewrite it, then plan for it.
Also, programming in pairs reduces bugs, and tends to lead to better design because you have more "brain power" (we hope anyway!).
For an article on XP, and a link to a web site all about it, click
here.
Brian
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.