I’ve used ActiveState Komodo as my IDE for Python and Ruby for a while, starting when I found Eclipse and PyDev irritating especially for debugging.
They recently decided to significantly redesign the Projects feature within Komodo, as part of version 6, and it serves as a great negative example of what happens when you don’t consult your users or put out prototypes but just inflict a design on people. For many users, including myself, the new approach loses functionality and makes the program significantly more painful to use, as you can see in the discussion forum.
Whilst working on some EDI parsing I have been thinking about data validator attachment.
The classic pattern is to have an AbstractValidator and subclass as necessary. This results in a few more classes in the hierarchy and a lot of objects added unless you implement some sharing or a different approach with delegates.
The design of rbrw basically follows that of the OOFILE report-writer, specifically the Windows environment:
- specify a report layout using a few classes pointing to data sources
- choose an appropriate environment that acts as a factory to create renderer classes that mirror each of the layout classes
- renderers generate output as a series of Drawing Elements, collected into pages
- draw a single page on a preview window, or multiple pages to a printer.
The current task is to create a right-aligned page count eg: Page 1 of 3 for a report.
This poses two large and one small problems: Continue reading