Iteration 1 Outcomes - Athear/Machine-shop-simulator Wiki
We addressed several of the issues we intended to, at least partially. The subclasses in the large MachineShopSimulator were extracted into their own classes, with some presently limited functionality. We did not add getters and setters for fields in these new classes. Our assumption was that doing so would not make a significant difference, and there were things besides field dependency we were hoping to focus on.
On that note, we did make getters and setters for the MachineShopSimulator fields. We did this to solve issues in relocating the method moveToNextMachine to the new Job class. moveToNextMachine has many references to MSS fields embedded. This will also smooth the relocation of other methods, such as changeState method.
We began to address the data class smell, and have moved functionality into Job. Machine remains empty, but we will soon be able to move changeState into it.
Inappropriate Intimacy is a bigger issue than we were prepared for. We have begun to address this by extracting classes and methods, but we still need to remove cross-class field dependencies.
We did not get to addressing the Large Method smell. We shifted our focus elsewhere, and may only get back to it towards the end of the next iteration.