Hi, maybe it’s just me, but compared with all the previous lectures this one felt much more convoluted and complex and there were multiple points throughout the lecture where I just stopped and said to myself “No, not like that”. It feels to me that we have added just too much dependence between the classes, a Unit has a reference to its GridObject, GridObject has a reference to all its Units, they communicate via singleton LevelGrid object. Overall, the “clean code” architecture developed in previous lectures seems to be disappearing.
However, the biggest problem of the lecture is probably in the challenge. The student is prompt to make their own implementation of methods SetUnitAtGridPosition, GetUnitAtGridPosition and ClearUnitAtGridPosition only for the lecturer to completely overhaul this implementation and replace the methods with AddUnit…, GetUnits… and RemoveUnit… later on in the lecture.
Moreover, I had a feeling that most of the progress in this lecture was presented without much explanation on why it is happening or what we aim to achieve with each step which resulted in thoughtless copying of the steps into my code without much room for my own implementations, tweaks or changes.
Don’t get me wrong, I really like this course and even this lecture was well made, it is just that I felt there’s a noticeable difference to the previous lectures and wanted to provide this feedback.