flake8 plugin that checks rules regarding the staticmethod and classmethod decorators.
Project description
flake8-classmethod-staticmethod
flake8 plugin that checks rules regarding the staticmethod and classmethod decorators.
Options
The plugin offers one flag, --select_csm1
, accepting a list of error
codes (see below) to be enabled. By default, the enabled errors
are CSM101
and CSM131
.
Error Codes
CSM100
@staticmethod
should not be used.
CSM101
A method marked as @staticmethod
should not reference the class it
is defined in. Use @classmethod
otherwise.
Bad
class MyClass:
@staticmethod
def my_name():
return MyClass.__name__
Good
class MyClass:
@classmethod
def my_name(cls):
return cls.__name__
CSM102
Do not inherit and override a method marked as @staticmethod
.
Bad
class MyClass:
@staticmethod
def my_name():
return "MyClass"
class MyChild:
@staticmethod
def my_name():
return "MyChild"
Good
class MyClass:
@classmethod
def my_name(cls):
return cls.__name__
CSM130
@classmethod
should not be used.
CSM131
A method marked as @classmethod
should access the parameter cls
.
Use @staticmethod
otherwise.
Bad
class MyClass:
@classmethod
def my_name(cls):
return "MyClass"
Good
class MyClass:
@staticmethod
def my_name():
return "MyClass"
CSM132
A method marked as @classmethod
should not reference the class it
is defined in. Use the cls
parameter.
class MyClass:
@classmethod
def my_name(cls):
return MyClass.__name__
Good
class MyClass:
@classmethod
def my_name(cls):
return cls.__name__
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for flake8-classmethod-staticmethod-2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8efad452efd2b60a6bbe55c67d19179a0068dedb95bd896b1b044e3dd906bd68 |
|
MD5 | 10458415d2f8abd13057993d2b46304e |
|
BLAKE2b-256 | dab00c1d0f9269c956ba89f9ef608647be4178a7e083a1459e3d1167b3b2334a |
Hashes for flake8_classmethod_staticmethod-2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | efafb2402f607790e160f890026f1a00a189dad5b8483966d65a237e9b6d8b89 |
|
MD5 | 55a0be220604d304ca3b94e7890c2fb3 |
|
BLAKE2b-256 | 4669960b9954d0326085b9756a481de3b401f9d8a288835c02e0df2c00bb6bfe |