| ▲ | mittermayr 4 hours ago | |
While great in theory, I think it almost always fails on "non-existent" testing structures that reliably cover the areas you're modifying. I change something, and if there's no immediate build or compile error, this (depending on the system) usually does not mean you're safe. A lot of issues happen on the interfaces (data in/out of the system) and certain advanced states and context. I wouldn't know how Mikado helps here. In other words, I'd reword this to using the Mikado method to understand large codebases, or get a first glimpse of how things are connected and wired up. But to say it allows for _safe_ changes is stretching it a bit much. | ||
| ▲ | SoftTalker 4 hours ago | parent | next [-] | |
Yes, most of the time such spaghetti code projects don't have any tests either. You may have to take the time to develop them, working at a high level first and then developing more specific tests. Hopefully you can use some coverage tools to determine how much of the code you are exercising. Again this isn't always feasible. Once you have a decent set of tests that pass on the original code base, you can start making changes. Working with old code is tough, no real magic to work around that. | ||
| ▲ | agge 3 hours ago | parent | prev [-] | |
If you create a graph of what changes are needed to allow for other changes, eventually leading to your goal. Then by definition you have the smallest safest step you can take. It would be the leaf nodes on your graph? | ||