On Mon, 4 Mar 2019 at 20:08, Norbert Hartl <norbert@hartl.name> wrote:
Am 04.03.2019 um 03:46 schrieb Ben Coman <btc@openinworld.com>:
In relation to developing sample solutions for an Exercism exercise, the following observation was made about class initialization...
class is initialized on load - and not when you modify it - so this can be very confusing for users
My first thought was to wonder if Quality Assistant could track whether a class initialize method had been run after it was modified, and display alerts.
Alternatively, I wonder if a reasonable pattern would be to couple class-side lazy initialization with a pragma to reset a variable when the method is saved...
MyClass class >> referenceData <onSaveResetVariable: ReferenceData> ^ ReferenceData := ReferenceData ifNil: [ 'reference data' ]
Isnât the usual way to do that to register the class in the shutdown list and implement #shutdown: ?
To me a good minute to work out why I didn't understand you. Sorry, I meant <onMethodSaveResetVariable: ReferenceData> So when 'reference data' is updated and the modified method is saved, the variable gets lazy initialized *again* with the new definition. hope that is more clear, cheers -ben