Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007
Discussion 3 - Amro Mousa
In detail, describe a problem that you experienced in Squeak. What was the problem? Why did it happen? How did you eventually overcome this problem?
While working on milestone 2, I happened upon a nasty, nasty side-affect to incorrect calls to super. While extending a Morph class/subclass, a call to "super." in the initialize method will crash Squeak in a very nasty way. It essentially halts it, you can do nothing except close the program via conventional means (killing the process or clicking the "X").
The problem is simply an incorrect method call. Instead of calling "super." one should call "super initialize." – specify what super class method you are calling – it isn't like Java overloading where you can call super and the language knows you are implicitly calling the overloaded method. It happens because the functionality to simply choose the method you mean to call isn't in Squeak – it's up to the developer to call super class overloads explicitly. I didn't – one of my group mates noticed my headache and took a quick look at the code, compared it to his and we found the issue. I suspect the Squeak devs will implement this functionality in a later release.
Vishal's post on color coded code is extremely useful and I'll make sure to use this functionality while working on future assignments.
I also learned something new from David Filgar's post on the inst var button. This is another feature I'll use while working on future assignments to ease the lack-o-documenting pain. ;)
Links to this Page