[Twisted-Python] Evangelism notes...
Eugene Coetzee
projects at reedflute.com
Fri May 6 14:49:36 EDT 2005
Jeff Grimmett wrote:
>
> My unsolicited advice: write the docs either before or during
> development.
>
dont know why you are so reluctant to say that. It also saves one from
doing a lot of unproductive coding when the basic design can be put down
on paper and analysed by peers to eliminate bad ideas from the beginning
- I suppose that was the original motivation for something like UML -
please don't shoot me :-)
>
> Here are the pitfalls (as I see them, YMMV) of retroactively writing
> documentation:
>
> 1) If the person writing the docs is not the person that designed and
> implemented, the *intent* of the class/module/etc being documented is
> not clear.
>
> 2) If the person writing the docs is not the person that implemented,
> then the person that implemented must be found, interrogated, and gone
> back to multiple times to get the docs right. (And if getting it right
> is not the goal, why bother?)
>
> 3) If the intent of the module/class/etc is not known beforehand, how
> does one determine if it is working right?
>
That sums it up pretty well.
> I don't mean to criticize, but this is in my eyes the greatest
> weakness of Twisted. My experiences with it, when it works, is that it
> works wonderfully.
Twisted is a superb framework. Once I took a few days of and hacked my
way through its enigmatic depths I also whispered to myself ...
eureka... I'm not sure though that documentation is the *only* problem.
My experience tells me that basic concepts around the "networking layer"
is intimidating to a lot of developers.
> I tell you: if it gets to the point where I SERIOUSLY consider writing
> my own simple frame work to get a job done as a TIME SAVING MEASURE
> then there is a problem, and I do not believe I am alone in this
> perception.
>
I normally ask myself how long will it take to understand this stuff -
given the state of the documentation. Then I compare it to how long it
would take to write it myself. Lets be frank - "open source" assumes to
an extent that you would actually "read the source" as part of the
documentation. To me the detail (like the API) is not the problem.
I would love to see high level conceptual documentation to give me a
better idea of basic concepts like the "reactor", "application",
"service", "transport","protocol", "factory" - what they are supposed to
do and how they are to fit together.
regards,
Eugene Coetzee
Web -> www.reedflute.com
===============================================
More information about the Twisted-Python
mailing list