Replies: 1 comment 7 replies
-
I think we actually broadly agree. There is a follow-up piece of work I want to get to, which is to change the BeerXML export code to use the same data structures as the import code, at which point the kxml constants will no longer be required, and all the XML stuff will be in one place. I didn't do it in the original pull request because (a) it was already quite big and (b) it was useful to be able to check that data exported with the existing code imported fine with the new code. Now that pull request got approved, I'll come back to the rest of the XML work in the near future I hope. As to whether the new import code was worth the effort, I'm not the most objective person to form a judgement(!) but I'm pleased that:
|
Beta Was this translation helpful? Give feedback.
-
The changes I made with respect to the schema classes was done with the very explicit intent that all of the work to be done to support a new column (or table) could be easily managed in at most two or three files.
In the past, I've had to go chasing through 8 files and a god awful number of arrays, hashes and methods to add a single column. It sucked. I would really like to avoid recreating that situation. And it seems we are with the new work in BeerXML. An XML property has to be defined both in the appropriate schema file, and defined again in BeerXML.
It is entirely possible that I misunderstanding the new code and simply reacting because it seems far more complex than what we had. The first question I am asking, then, is am I understanding what I am reading correctly?
If I am understanding this properly, I think we need to clean this up. My 30 minute read of the code strongly suggests the right approach would be to completely isolate the XML stuff into the BeerXML class. The kxmlprop definitions would be removed and that field dropped from the PropertySchema.
Am I understanding what I am reading correctly, and is the new import code worth the effort?
Beta Was this translation helpful? Give feedback.
All reactions