I'll speak up and say thank you for offering an alternative to the generally accepted push toward heavy use of git and testing. That 14-step process (and that's brief?) sounds like it would work great for collaborative projects, but for a one-man operation like mine, I look at it and wonder when I'd get any coding done.

On the other hand, I would like to use more testing and version control. My programming background is of the "hack it together until it works" variety, so my steps tend to look like this:

(If I used git on most of my projects, I have a feeling they would get checked in once, like this: `git commit -a -m 'done'`) Most of the time, that works fine. If there's an error, it's probably near the lines I was editing, so I don't need an IDE to take me to the location of the error. If I'm using Emacs and running the script in an xterm (or web browser), my editor is still where I was; if I'm using vi, it takes me back to my previous location when I open the file again. Perl's error messages are clear enough to get me to the exact spot from there.

Some version control would be nice. In 15 years of programming, there have only been a handful of times that I wanted to go back farther than the current editing session (which my editor could 'undo'). But on those occasions, it would have been very handy, so if I could automate that, it'd be nice. I probably could with Emacs, and I know I could with a simple script that would watch my 'work' directory and check anything that changed into git/svn/cvs/rcs, but I guess I haven't wanted that enough to bother yet.

Another appealing aspect of the 14-step process is that it provides a certain amount of a paper trail and documentation. Quick hack scripts and troubleshooting sessions generally aren't heavy on documentation, if they have any at all, so it'd be nice to have some kind of running commentary to check back on later. It would also supply a timeline of time spent on the task. But again, if I were inclined to write better documentation and keep tighter timelines, I could already do so by adding it right in the script or a separate doc file.

So I like your idea of testing and version control as an automated background process; that would make me a better programmer without annoying me into avoiding it. I think much of that can be done with Emacs, but I haven't studied it enough to know if it can be made unobtrusive enough.

Aaron B.
My Woefully Neglected Blog, where I occasionally mention Perl.


In reply to Re^8: Developing a module, how do you do it ? by aaron_baugher
in thread Developing a module, how do you do it ? by mascip

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • 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:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.