Modernization #2546
Replies: 4 comments 6 replies
-
It's a lot of work, though. And just a start. Is it worth it? Is there a better path? Is continued maintenance as-is a reasonable alternative? |
Beta Was this translation helpful? Give feedback.
-
Unit tests could exist after 3. Unfortunately, the nine files that would become "modules" during 2 can't really have specifications until they're reorganized. Hence they can't have unit tests. Of course afterwards there might be only six. |
Beta Was this translation helpful? Give feedback.
-
Point 0. should be as: |
Beta Was this translation helpful? Give feedback.
-
I think that it would be a big improvement if we tried to make the output into semantic HTML by adding meaningful classes. That way, we could bolt on a converter that could turn the output into XML or some machine-readable format. |
Beta Was this translation helpful? Give feedback.
-
Good, yes, we can talk here.
Modernizing the code initially requires global (not localized) changes. Even if the changes are tiny. There is so much to do! and the structure is rather brittle with age and global variables.
As long as the structure is so entangled, I don't see how we can make progress with anything else.
So I think the jobs, in order, are
Question: is this right, and in the right order?
This is lots of refactoring. Number 1 involves (discovering and) declaring which variables are my and which are our; and an assortment of other little things that might get warned. Number 2 involves renaming the "module" files from eg horascommon.pl to horascommon.pm (even if no export specifications are introduced).
Question: is anything currently being done that may conflict badly with these?
Now long ago I wrote some scripts for regression testing: they're in admin/ of all places: but they still seem to work. I see there's some prove support, and some Travis, as well.
The above is all refactoring, no external functional changes. It should be possible to verify byte-for-byte identity at the HTTP level.
Question: how do you all currently do testing?
Beta Was this translation helpful? Give feedback.
All reactions