On Fri, Oct 31, 2008 at 12:20 PM, Andrew Lentvorski <[EMAIL PROTECTED]> wrote:
> Wade Curry wrote:
>
>> I don't deal with large projects, but I still modularize stuff.  I
>> do it because it's easier to re-use, but also for others to see
>> what I'm doing a little easier (I hope).
>>
>> I'm not sure though what "grunt work" you are thinking of that
>> wouldn't be there regardless of modularization.  What do you mean
>> by that?
>>
>> Or, maybe I should ask, what do you have to learn in order to
>> program above your limit?
>
> Automated tests are the big one.
>
> This is a double whammy.  You need some way to know that you didn't break
> old stuff when you wrote new stuff.  You also need some way to communicate
> your intent and design.  Automated tests do both.
>
> Many smart programmers just test a couple cases by hand and leave it at
> that.  What happens is that the corner cases get forgotten as the system
> grows.  This means that you start doing more damage than good as you add
> code.  Eventually this reaches the point where you can't fix without
> breaking something.  At this point, smart programmers tend to give up and
> start talking about "needs a rewrite".
>
> No, it doesn't.  It needs tests and bug fixes.  But that's not fun.
>
> Once I realized this I moved from being a talented, but erratic, hacker to
> being a very good programmer.  Instead of having to always handle coding
> myself, I could actually hand it off and let other people help.
>
> There are other things: build systems, version control, modularization (as
> you point out), choosing to be clear rather than clever, etc.
>
> -a

This is very good, Andy.

It is I suppose a comment on my ignorance that I do not recall ever
having seen the point made this way before.

I suggest then that the core problem becomes, "How does one make test
and bug fixes fun?"

It is not obvious to me that they cannot be fun.

Alternatively is there some automagical (i.e. a program runs) to find
and test edge cases?

BobLQ

-- 
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to