Adam R. B. Jack wrote:
Could I get some feedback on this:

http://wiki.apache.org/gump/GumpCode

finally read it. Pretty much the big picture view as it is in my head (good thing!). Thanks for taking the time to do this...


Also, how ought we go about getting me to understand what is not
understandable?

When I develop java software (I guess this holds for everything else as well though), I have this basic development process set up. Starting from scratch, we start with some idea of the basic abstractions, write interfaces, then unit tests. Compile. Doesn't work. Write a bit of implementation. Compile. Doesn't work. Write a bit more. First test green. etc etc. Every now and then, a "unit" is complete. Everything glues together using some common pattern (ie IoC, factories, servlet setup, xml config, little bit of scripting). Step through it all with a debugger to verify behaviour is as expected. Maybe profile a little.


When I try to get to work on gump, it is just not clear how to start, and how to go from there. For example, lets say I want to write a <magic/> tag like steve requested. Where do I start, how do I test things, etc.

So that's not just "how it works" but also "how do I change it".

concrete question: what is your development process?

This is not just about python. I've got no problem writing basic python shell scripts or even cgi apps (with the manual lying on the desk that is :-D). Atomized pieces of program with a simple entrance and simple exit. I remember the same feeling from adding a feature to gump when it was still java+xslt.

What I'm also missing is an idea of what code is used and what code is not. There's loads of utility material, and I suspect a lot of code that's never used. In java I can find this code using a tool like clover. I can't in python.

Could we come up with a few real or pseudo code changes, and
document/discuss what would need to be done in order to achieve them? I know
Stefan has a pet task (Javadoc?), and we have MagicBuilder. Could we get a
few more?

<junitreport/>. Also <clover/> and other reports commonly used by projects (take a look at the reports maven generates); perhaps <configure/> and <make/>?


I'm also interested in change as opposed to addition...

-> you stated the model is modified rather than decorated. How would one change that? What do we look for to isolate all the modifications happening and all the code depending on those modifications?

-> how would I make the state propagation feature more granular (ie propagate a complex state and make the html output different based on whether we're FAILED or FAILED MISERABLY FOR 3 WEEKS)?

etc etc.

Also, any other input on ways to get this thing out into the open, and clear
for all?

ehm, ... maybe some big, fat, visible boundaries between the different bits of code. Big java projects, might be split into seperate subprojects or packages in seperate jar files that are independently reusable and have a small well-defined public interface. Public/private also helps there I guess. In gump, method X from package Y may be in use in package Z and its not so easy to figure that out for me. No "find usages" button in my IDE...


cheers,

- LSD

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to