On May 09, 2012, at 05:20 PM, Nick Coghlan wrote:

>Ah, good point. In that case, consider me convinced: static method it
>is. It can join mro() as the second non-underscore method defined on
>type().

+1

If I may dip into the bikeshed paint once more.  I think it would be useful to
establish a naming convention for alternative constructors implemented as
{static,class}methods.  I don't like `build_class()` much.  Would you be
opposed to `type.new()`?

Depends on how far you want this new term to go since "new" is somewhat overloaded thanks to __new__(). I personally like create(). 
">

(original) (raw)



On Wed, May 9, 2012 at 12:21 PM, Barry Warsaw <barry@python.org> wrote:

On May 09, 2012, at 05:20 PM, Nick Coghlan wrote:

>Ah, good point. In that case, consider me convinced: static method it
>is. It can join mro() as the second non-underscore method defined on
>type().

+1

If I may dip into the bikeshed paint once more. I think it would be useful to
establish a naming convention for alternative constructors implemented as
{static,class}methods. I don't like \`build\_class()\` much. Would you be
opposed to \`type.new()\`?

Depends on how far you want this new term to go since "new" is somewhat overloaded thanks to \_\_new\_\_(). I personally like create().