[Grok-dev] Re: Grok in Zope 2: Paris Sprint first day wrap up:
Success! (Kinda)
Martijn Faassen
faassen at startifact.com
Sat Apr 26 11:29:54 EDT 2008
Brandon Craig Rhodes wrote:
> "Lennart Regebro" <regebro at gmail.com> writes:
>
>> try:
>> from ExtensionClass import ExtensionClass
>> except ImportError:
>> ExtensionClass = types.ClassType
>>
>> and then change a line in MultiGrokker.grokkers from
>> if obj_type in (type, types.ClassType):
>> to
>> if obj_type in (type, types.ClassType, ExtensionClass):
>
> This strikes me as ugly and, in its admittedly small way, confusing
> and inefficient:
>
> (a) ExtensionClass will be pulled in merely because it exists, not
> because the user is actually trying to use it in this app.
>
> (b) If ExtensionClass does not exist, then the symbol becomes
> available anyway but means something quite different from what
> it says.
>
> (c) If ExtensionClass is not available, you wind up comparing the
> obj_type against the same value *twice*.
Yeah, I hadn't thought about these points, but these are indeed
drawbacks. I think (b) and (c) are the worst.
Looks like a reasonable improvement. I don't we care much about
efficiency here (whether your improvement would improve efficiency would
need to be benchmarked, but that's a waste of time), but the clarity
arguments I'll buy.
I think Brandon sketched out a better approach, guys. :)
Regards,
Martijn
More information about the Grok-dev
mailing list