in reply to A Peeve of Great Pettishness
As computer folks we are trained to start counting at zero, yes? So ideally your first release should be...
$VERSION = 0.00;
...with the only need of a decimal point being to indicate when some future upgrade should be considered to break the historical user interface. Thus, from releases 0.01 through 0.99 you have only fixed bugs and added features, but not broken any prior features from the user's perspective.
So...a version number of 1.00 signifies you have already gone and broken faith with prior users once before! How are we to trust you now?
Then comes yet another day when once again you look at your code and say, "Dear gods! What was I thinking?" and re-do significant parts, requiring the users to employ previously trusted features differently than they have become accustomed. You then release that 3rd incarnation as version 2.00, indicating the uncivil boundary crossing. Thereafter, versions 2.00 through 2.99, should only fix bugs and add new features...until your next divine epiphany changes your world view and inspires you change course significantly once again, to the annoyance of prior users with a version 3.00...and so forth.
I actually read that concept somewhere else and merely regurgitate it here for you all to point at and gag over. My little contribution, having written only one taudry module in my own right Chart::EPS_Graph.pm. Following the scheme detailed above I released it as version 0.01. Retch all you like, it works just fine. I use it regularly. My documentation, however, is fairly verbose. The tests serve as complete usage examples.
|
|---|