well... I said the same when I was applying those changes, he :) I already made a note in my TODO list to refactor that as soon as possible too :)
Esteban On May 25, 2013, at 12:55 PM, Camillo Bruni <[email protected]> wrote: > I've seen a lot of progress for the Pharo Kernel by Pavel recently and I > really appreciate his work. But I have some questions I think we should > discuss. > > There have been quite a few changes to make code work in the Kernel and to > reduce dependencies between packages. But I really have the impression that > many of these changes are of bad quality :/. > > I do not want to offend people, but this is fairly important if we want to > have a nice code base. > > Example: > ======== > UnixResolver >> nbGetEnv: str > #NativeBoost asClassIfPresent: [ ^ self privNbGetEnv: str ]. > ^ nil > > The goal of this code is to conditionally do something in the main image but > continue to work in the kernel. > > Observations: > ============= > - #asClassIfPresent: and Co are bad > - Why do we clutter the main image if the kernel should change? > - Can't we solve these things by having proper other objects? > - Is the UnixResolver really needed in the Kernel? > > I worked with Esteban last week on a similar case in the CommandLineHandler > and we ended up introducing a minimal superclass. I guess this goes much in > the direction of having proper NullObjects. > > I really think we should not add these little nasty changes, but rather > introduce proper > new classes that can be unloaded if needed. > > What do you think?
