|
|
|
@ -42,6 +42,10 @@
|
|
|
|
|
hyphens: none !important; |
|
|
|
|
-moz-hyphens: none !important; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
div.code { |
|
|
|
|
font-size: 150% |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|
</head> |
|
|
|
|
|
|
|
|
@ -59,9 +63,9 @@
|
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>O que é o erro:</h2> |
|
|
|
|
<div style='font-size: 150%'> |
|
|
|
|
<p><pre><code data-trim> |
|
|
|
|
<h2>O que é o erro</h2> |
|
|
|
|
<div class='code'> |
|
|
|
|
<p><pre><code data-trim class='python'> |
|
|
|
|
def funcao(valor): |
|
|
|
|
return valor * 2 |
|
|
|
|
</code></pre></p> |
|
|
|
@ -69,7 +73,7 @@ def funcao(valor):
|
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>Solução:</h2> |
|
|
|
|
<h2>Solução</h2> |
|
|
|
|
|
|
|
|
|
<p>Documente suas funções!</p> |
|
|
|
|
</section> |
|
|
|
@ -79,30 +83,165 @@ def funcao(valor):
|
|
|
|
|
<section> |
|
|
|
|
<h2><code>wildcard-import</code></h2> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>O que é o erro</h2> |
|
|
|
|
<div class='code'> |
|
|
|
|
<p><pre><code data-trim class='python'> |
|
|
|
|
from module import * |
|
|
|
|
</code></pre></p> |
|
|
|
|
</div> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>Solução</h2> |
|
|
|
|
|
|
|
|
|
<p>Importe apenas as funções módulos que são usados.</p> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>Por que não usar "import *"</h2> |
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
|
<li>O módulo pode ter código não protegido por |
|
|
|
|
função, classe ou <code>if __name__ == '__main__'</code></li> |
|
|
|
|
<li>Poluíção do namespace.</li> |
|
|
|
|
<li>Módulo pode redefinir uma função presente no |
|
|
|
|
módulo atual.</li> |
|
|
|
|
</ul> |
|
|
|
|
</section> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<section> |
|
|
|
|
<h2><code>unused-import</code></h2> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>O que é o erro</h2> |
|
|
|
|
|
|
|
|
|
<div class='code'> |
|
|
|
|
<p><pre><code data-trim class='python'> |
|
|
|
|
from module import function |
|
|
|
|
</code></pre></p> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<p>(E <code>function()</code> não é usado em lugar algum.)</p> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>Solução</h2> |
|
|
|
|
|
|
|
|
|
<p>Remova o import.</p> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>Dica!</h2> |
|
|
|
|
|
|
|
|
|
<p>Quebrar imports em várias linhas facilita correção desse |
|
|
|
|
tipo de problema.</p> |
|
|
|
|
|
|
|
|
|
<div class='code'> |
|
|
|
|
<p><pre><code data-trim class='python'> |
|
|
|
|
from module import func1 |
|
|
|
|
from module import func2 |
|
|
|
|
</pre></code></p> |
|
|
|
|
</div> |
|
|
|
|
</section> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<section> |
|
|
|
|
<h2><code>unused-argument</code></h2> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>O que é o erro</h2> |
|
|
|
|
|
|
|
|
|
<div class='code'> |
|
|
|
|
<p><pre><code data-trim> |
|
|
|
|
def func(arg1, arg2): |
|
|
|
|
return arg1 * 2 |
|
|
|
|
</pre></code></p> |
|
|
|
|
</div> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>Solução</h2> |
|
|
|
|
|
|
|
|
|
<ul> |
|
|
|
|
<li>Remova o parâmetro desnecessário</li> |
|
|
|
|
<li>Altere o parâmetro para "_"</li> |
|
|
|
|
</ul> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>Corner case</h2> |
|
|
|
|
|
|
|
|
|
<div class='code'> |
|
|
|
|
<p><pre><code data-trim class='python'> |
|
|
|
|
def addSeven(foo): # "Unused argument 'foo'" |
|
|
|
|
foo += [7] |
|
|
|
|
</code></pre></p> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<p>O problema é a questão de referência para objetos |
|
|
|
|
mutáveis. O código em si está errado.</p> |
|
|
|
|
</section> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<section> |
|
|
|
|
<h2><code>bare-except</code></h2> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>O que é o erro</h2> |
|
|
|
|
|
|
|
|
|
<div class='code'> |
|
|
|
|
<p><pre><code data-trim class='python'> |
|
|
|
|
try: |
|
|
|
|
func() |
|
|
|
|
except Exception e: |
|
|
|
|
pass |
|
|
|
|
</code></pre></p> |
|
|
|
|
</div> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>Solução</h2> |
|
|
|
|
|
|
|
|
|
<p>Capture apenas as exceções que você sabe lidar.</p> |
|
|
|
|
</section> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<section> |
|
|
|
|
<h2><code>no-self-use</code></h2> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>O que é o erro</h2> |
|
|
|
|
|
|
|
|
|
<div class='code'> |
|
|
|
|
<p><pre><code data-trim class='python'> |
|
|
|
|
class A(object): |
|
|
|
|
def func(self, a): |
|
|
|
|
return a * 2 |
|
|
|
|
</code></pre></p> |
|
|
|
|
</div> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
|
<h2>Solução</h2> |
|
|
|
|
|
|
|
|
|
<p>A solução mais "correta" é tirar a função da classe e deixar |
|
|
|
|
fora do objeto.</p> |
|
|
|
|
|
|
|
|
|
<p class='fragment'>Não sendo possível, |
|
|
|
|
<code># pylint:disable=no-self-use</code> antes da função. |
|
|
|
|
</p> |
|
|
|
|
</section> |
|
|
|
|
</section> |
|
|
|
|
|
|
|
|
|
<section> |
|
|
|
@ -264,3 +403,5 @@ def funcao(valor):
|
|
|
|
|
|
|
|
|
|
</body> |
|
|
|
|
</html> |
|
|
|
|
|
|
|
|
|
<!-- vim:set et ts=4 sts=4 st=4: > |
|
|
|
|