[Twisted-Python] Configuration options for twisted code
exarkun at twistedmatrix.com
exarkun at twistedmatrix.com
Tue Mar 4 05:17:49 MST 2014
On 07:41 am, p.mayers at imperial.ac.uk wrote:
>On 04/03/2014 00:52, Itamar Turner-Trauring wrote:
>>On 03/03/2014 01:09 PM, Adi Roiban wrote:
>>>
>>>What do you think? Should I go ahead and add options as __init__
>>>arguments or think of a configuration system?
>>
>>A configuration system would take a while to design and meanwhile
>>these
>>unrelated features would languish, so I'd suggest you start with
>>options
>>to __init__.
>
>-1
>
>I hate __init__ methods with a hojillion parameters, and that's where
>this leads.
Functions that take arguments are great. If your function takes *too
many* arguments then maybe the function does too many things or maybe
there is some structure spread across those arguments that should be
explicitly reflected in their type (iow maybe those last five arguments
are all actually part of the same thing and should be represented by a
single argument instead).
>+1 instead for class variables which can be overridden in sub-classes
>to achieve DRY and/or set after instantiation if necessary e.g.
>
>class Foo:
> maxThingLen = 10000
>
>class MyFoo(Foo):
> maxThingLen = 100
>
>This is also somewhat consistent with what things like t.w.s.Site
>already do.
This is compatible with accepting these values as arguments. Defaults
that provide good behavior by default for the common case are great.
Jean-Paul
More information about the Twisted-Python
mailing list