Thursday, March 24, 2005
Reading and more reading and some writting
Been doing lots of reading and little writting although I am getting there. Added the basic mesnus to the application. Sounds simple but there are at least two very different ways of doing so and integrating those actions to the views I am creating. Working now into integrating the workspace and all that goes with it. The problem is all the little parts that have ot work together and reading the little parts takes time. I notice that there is a kind of order of how to integrated the whole into the app but the build order is only apparent after you read it. There are no guidelines for this.
Learning now how to create a wizards that will build a Fitster project. That is the new concept that is the central feature of the application at the moment.
something to think about :
Tuesday, March 15, 2005
Browser and TreeViewer
Added the Browser and TreeViwer widgets. Not implemented yet but they are there and I am workin on it.
TDD feedback loop
I have trying to do some tests that just can't been dome since those objects are not accesible. Yet on the other hand, I have learned a lot about the Eclipse API by trying to run these tests. Interesting feed back loop since now I can write tests that are possible. This is different from the exploratory type programming where I would sit down and read the theory and THEN go ahead and impelement what I wanted to achieve refactoring as I learned a new aspect of the API. The difference with TDD is tha I am refactoring the tests as I learn the API. The refactoring of the objects I build is more akin to making the code better and not fixing the code to run as it should.
Got the basic layout for the gui done. One difference between the spike that I have and the RCP version is that the RCP has the concept of an editor. Have to figure out how to implement the TestTableEditor as an EditorPart. Have to figure this one out by building a little spike. In the meantime I am going to finish implementing the other 3 views (Fit Test Explorer, Fit Test Browser and Fixture List. Got the framework of empty ViewParts done. Ok... "Charge!" doesn't seem exciting anymore... new war cry is "TEST!".
Saturday, March 12, 2005
Contributing to Eclipse
The book is great as long as you are using Eclipse 2.1. In adapting to doing TDD in Eclipse 3.1 you have to be aware of the many API changes. Also be aware that you are doing an RCP and not a "simple" plug-in. One thing is that the book introduces Perspective very late in the game yet in an RCP the Perceptive HAS to be initialized or the IViewPart.createPartControl() won't be called. Therefore the first thing to test is the Perspective and then the Views. Going through the API now. I already created one unit test for the view but it doestn't work because of the above complications. It is all in CVS just in case. Have to do some figuring it out.
Friday, March 11, 2005
Yesterday was the first official day of development. I finished putting the license blurb on the code and i kind of started building the Fit library plugin. Kind of stuck at the moment since I do not know how to transform the old plugin.xml format to the new osgi format. Posted the qeustion on the eclipse.platform newsgroup. In the meatime... trying to figure how to TDD views.
Going to build the views in the same ordert that I did the first working spike.
View Integration Order:
- Fit Test Browser
- Fit Test View
- Fixture List
- Test Table Editor
Figure once I have the views then I can work on the Actions. The interesting point when doing the actions is how to integrate to the IDE. For example, the Fit Test Browser is a type of Package Explorer or could communicate with the Resource Navigator. I will deal with these issues later.
Thursday, March 10, 2005
Test Driving Fitster
Well, after much deliberation, I have come to the conclusion that it is not posible to TDD some of the initial classes available when creating a RCP. No sweat, moving on. Got the initial commit of fit.fitster and fit.fitster.test projects in CVS. Time to have fun.
Next item todo:
Add copyright and license blurb to current code.
Create a library plugin of fit for convenience and to be able to package distribute with the RCP.
Also today I submitted a proposal for an experience report for Agile2005
Saturday, March 05, 2005
The Ground is Set
Got the conceptual plan of how to approach the next phase of building the RCP version of Fitster.
My main two book references are:
- Eclipse: Building Commercial-Quality Plug-Ins
- Contributing to Eclipse: Principles, Patterns, and Plug-Ins
The EclispeCon 2005
site has an excellent collection of tutorials
. In addtion there are the articles
at the main Eclipse
site and the Rich Client Platform project home page
Yes, I have read most of it :P The challange now is setting up a Test Driven Development environment which I will explore in other posts.
Wednesday, February 23, 2005
The problem now is trying to figure out how to integrate the following process:
- Write User Story
- Write Fit Test
- Implement Fit Test
- Implement Unit Test
- Implement Code
Monday, February 21, 2005
Discovering how to do Test Driven Development Redux
It seems that TDD for GUI development is kind of very sketchy. I discovered only a couple of tools. Also I got my 3.1M5 environment set up. More to come in tomorows posts... Still organizing this blog and such. Got the dev envionment going although it seems that this time around I will have to stick to the SuSE side of my box. Ok... really wanted to say more... was a busy day. Going to have to be more diligent in this blog.
The workingSpike is done for the JFace/SWT version of Fitster. Took me about 3-4 weeks to learn and figure it out. I am glad I focused on just SWT/JFace and now have that knowledge as I move forward to building an RCP. I can focus on just the RCP stuff and see the patterns of the dynamic structure in the object graph. The Eclipse Projext just released 3.1M5. RCP development is maturing and I wonder if I should lock step with the 3.1 release schedule. Already have both the GTK and the Winows version installed and now I start ont he the next stage. This is going to be interesting since RCP is so new that documentation is basically embedded within the newsgroups, the few examples and the bug reports. ONWARDS!