With all of the GIT work done, and the blogger processor complete, it feels like we are about halfway done. But it turns out that we are a lot further along the road than that.
Firstly, there is a lot of infrastructure that I've built, including the configuration and the configurable processor, which have already been handled. Likewise, the code to convert most of the text into the intermediate form has been done.
Secondly, the majority of the hard cases come up in either the blogger or documentation processors. The movie and presenter portions have nothing to compare to including code from the disk or processing git commits.
Thirdly, I have a lot of different use cases for the documentation processor, and a lot of blog posts to consider for the blogger, but I only have one movie script to consider and only one (experimental) presentation.
In consequence, everything went very smoothly and was done within a day.
The Movie Processor
Almost everything to do with the movie processor was really just a question of cutting and pasting code and putting the relevant pieces into the relevant classes. It was very close to being a refactoring - and that means the code will hopefully be more testable.The Presentation Processor
Likewise, almost all of the presentation file is ignored, and that which isn't is all basically passed through a parser-like processor. In consequence, mapping the presentation processor was mainly a question of connecting one scanner (for lines starting with *) to the existing backend, moving files around, and introducing the appropriate lifecycle events (to make sure that the project was flushed whenever files came to an end).What's Left to Do?
I am tempted to call shenanigans on this at this point and move on to doing something else (mainly because I'm bored, but there are always things pressing down on me). But before I do...- I still need to go back and actually make sure that all the modules are actually declared in the configuration files and there are no "hacked-in" modules;
- I want to write at least a few tests to demonstrate how tests of the various parts of the code (core and modular) would work;
- I have only really modularized the processors up until this point; the intermediate form and the "sinks" (the back end portions of the code) are still largely hardcoded;
- There are a couple more modules that I would like to add, and would specifically like to consider doing that in a different project to check that I really have achieved something;
- The overall feel of the project has moved from "big-ball-of-mud" to "not-under-my-control", and it feels like there is a lot more that I could do (writing losts of tests, more refactoring) to improve that.
No comments:
Post a Comment