Files
codeql/python/ql/src/Classes/UselessClass.qhelp
2018-11-19 15:10:42 +00:00

36 lines
958 B
XML

<!DOCTYPE qhelp PUBLIC
"-//Semmle//qhelp//EN"
"qhelp.dtd">
<qhelp>
<overview>
<p> If a class has only one public method (other than its <code>__init__</code>)
it should be replaced with a function.
</p>
</overview>
<recommendation>
<p> Convert the single public method into a function.
If there is an <code>__init__</code> and it sets attributes on the <code>self</code>
then rename the <code>__init__</code> method and remove the <code>self</code> parameter
Make the public method an inner function and return that.</p>
<p>Delete the class.</p>
</recommendation>
<example>
<p>In this example the class only has a single method. This method does not need to be in its own
class. It should be a method on its own that takes <code>a</code> and <code>b</code> as parameters.
</p>
<sample src="UselessClass.py" />
</example>
<references>
<li>Python: <a href="http://docs.python.org/tutorial/classes.html">Classes</a>.</li>
</references>
</qhelp>