On Wed, Sep 8, 2010 at 1:18 AM, Mark Engelberg <mark.engelb...@gmail.com> wrote:
> I don't know that I'd be flattered by that comparison :)

LOL. Point well taken :)

> If you ever read an article presenting some new algorithm, data
> structure, etc. in an academic journal, the published article will
> certainly contain some actual prose describing what's going on.

Well, yes, certainly, but that's very different from what I'd normally
expect as documentation for code itself.

> considerably in terms of scope and complexity.  The Flash API
> documentation is very well written and it fills two 600+-page volumes.

And that's necessary because it's a very complex library that you need
to know a lot about it in order to use it (at all). It's complex
enough that there are a myriad books about it and week-long courses
and so on. But the official Adobe documentation is developed and
maintained by a whole team of full-time writers - and it's developed
separate from the code itself (which is why sometimes the
documentation has errors and omissions in it). [Disclaimer: I worked
at Macromedia for six years and then Adobe for a year and for a while
was working with the AS3 spec folks and developing the compiler test
suite]

> Our preferences are shaped by our experiences, of course, and your
> mileage may vary.  What is the largest body of code you've tried to
> read and understand and maintain?  Were you able to talk with
> developers about the code, or did you just have to understand it by
> reading it?  What things did you like and dislike about the
> readability of their code?

The largest in-place code base I've come into as 'the new guy' was
about 100k lines. The lead developer left essentially within a few
days of me joining so although I had access to two other developers, I
mostly had to come to speed by myself by reading the code. Luckily, it
was a company with strong coding guidelines and the software itself
was source code analysis tools which were used extensively on its own
source code to automate compliance. The source code was not heavily
commented (that was part of their coding guidelines - on the grounds
that code should be simple and clear enough not to need many comments)
but good naming conventions and good structure many it easy to
navigate and assimilate.

That system grew to about 250k lines while I was working with that
team and we kept tightening the automated code checking. That was the
early 90's and the company is still going and has added new product
lines...

Most of the other sizable projects I've worked on, I've come in near
'ground zero' and have ended up anywhere between 20k and 200k lines.

> My experience aligns well with the points raised in this essay

I'm in two minds about Joel. He's a great speaker and a great story
teller and a lot of his posts are engaging and have interesting and/or
useful observations in. But he plays very heavily on "Fog Creek only
hires the best" and the whole thing about rock star developers and
that undermines some of the other stuff he says (at least for me).

I think that all code can be improved. I really enjoy the opportunity
to improve my own code when I have to revisit it. I try to encourage
others to improve my code too. But I think the reason a lot of
developers want to rewrite other people's code is twofold:
* many developers are too lazy to spend the effort to understand other
people's code (or learn good practices)
* a lot of code really is crap (because we have lots of poor
developers in our industry... who are too lazy to learn good
practices)

> I think just about our only point of agreement is that I also feel
> that it is difficult to maintain documentation that is separate from
> the code.

Yup, definitely agree. Being able to attach doc-strings to function
arguments helps a lot, in my experience. I haven't yet seen a really
good way to attach extended documentation to code - it's definitely a
hard problem to solve. I'm with you on liking tools to automate things
tho'...
-- 
Sean A Corfield -- (904) 302-SEAN
Railo Technologies, Inc. -- http://getrailo.com/
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to