Another way to do this: Write test cases against existing code.
You can't write tests without understanding the purpose of the code. But yo=
don't have to understand all the details to write the tests. When you finis=
your test cases, run them, see how data flows, then you get the idea. When
we fully understand the code, we create a suite of test cases for jython,
BTW, I still believe we should create a short list of "urgent tasks". We
will understand the codebase better and better when we are trying to solve
the problems. And we don't have to understand all the code to solve the
problems. "Iterative" is always the key feature of the software development=
However, as usual, above are just my personal opinions.
On 4/4/06, Walter Chang <chang.walter@...> wrote:
> Hi All,
> Rather than continue to rant about getting a plan together I decided
> to take up the task of trying to figure out "How jython works from a
> 5000 ft view"
> Right now I have a bit more understanding of the org.python.parser
> java files which is generated from using javaCC and the python
> language ASDL file available from python.org.
> This allows us jython to understand (parse) the python language
> constructs. However in order to "act upon" the parsed results we
> still need to have a python runtime to delegate the instructions to.
> This is where the org.python.core comes in.
> I spent some time looking at the 2.2a1 source that I had checked out
> of sf csv and it is indeed quite a bit of complex code. Ran it
> through Posiden to see if a graphical UML representation could save me
> a bit of time in understanding how everthing worked. This didn't work
> as there are about 139 java files in 2.2a and it made everything even
> more confusing.
> The bottom line is, I think unless someone else has a better
> suggestion, a line by line exploration of all the source files would
> be necessary (starting from the PyObject.java).
> Before I embark on this endevor I'd like some advice:
> Should I start to from the 2.1 sources (more stable, less possiblity
> for change...)
> Should I look at going through the current 2.2a sources (people are
> working on it right now, confusing things like CollectionIter.java and
> The goal of this is to eventually produce a design doc that can be
> shared with the community.
> Once we have a clear idea of the "orginal" design decisions, proper
> peer review can take place and things like the JEP (jython equivelent
> to PEP...please see wiki) can come into play.
> I anticipate without any guidance (brute force/reverse engineering)
> this would take about 3 months to do for one person. (core and
> perhaps util)
> Any advice before I start would be much appreciated!
> Kind Regards,
> Simplicity--the art of maximizing the amount
> of work not done--is essential.
> from: http://www.agilemanifesto.org/principles.html
> This SF.Net email is sponsored by xPML, a groundbreaking scripting
> that extends applications into web and mobile media. Attend the live
> and join the prime developer group breaking into this new coding
> Jython-dev mailing list