每个pylint警告背后的规则,概念和用法在哪里详细说明?

时间:2018-03-12 14:44:25

标签: python coding-style pylint pep8 pep

仍然 discovering Pylint我理解为什么许多 Pythonists 停用一些(或许多)警告来降低Pylint' s语音,但目前,作为Python newbie,我想使用pylint来改善我的 Pythonic理解和我的代码质量,以便帮助我:

  • 从陈述/指示中学习更多
  • 深化一些概念
  • 评估重构的好处/缺点

那么有没有讨论,证明,解释所有警告的地方,或者它们只来自pylint团队的伟大思想

3 个答案:

答案 0 :(得分:0)

当我将$first = Array ( [0] => Array ( [title] => pacifica-aurum-pride-towers [getName] => pacifica-aurum-pride-towers [getImg] => test [getPrice] => 18 [getPlace] => erode ) ); $second = Array ( [title] => New1 [getName] => New name [getImg] => test [getPrice] => 18 [getPlace] => erode ); $first[] = $second; 输入到网络(Google)搜索栏时,第一次点击是PyLint Messages,其中包含指向解释每封邮件的页面的链接。

答案 1 :(得分:0)

回答你的评论:

  

当我有一些警告时,我想要知道的不仅仅是“太多'无论'',”无效'某事'等等。如果我的代码工作正常,我认为这些警告是一种指导方针和mays将与上下文一起研究。对于语法,我参考PEP8,但是对于其他警告?好的所有警告都没有PEP。为什么max分支设置为15,语句设置为50,变量设置为15,等等?

这些主要基于“最佳实践” - “黄金规则”,这些规则主要源于经验,但有时可能会在任意方面犯错 - 实际上你提到的数字确实是任意的,但你必须设置一个任意限制,至少在pylint增长和IA之前。

  

如果python接受运行代码有什么意义呢??

因为必须维护代码 - 通常花费数百倍的时间来维护代码(修复错误,提高性能和添加功能)而不是编写第一个版本 - 并且执行单个操作的小型,良好分离的简单函数更容易阅读,理解,推理和测试,而不是过长的函数同时执行三个不同的事情,并使用深层嵌套的分支和许多副作用实现。

现在我提到你提到的数字确实是任意的,可能或不适合代码的给定部分。有些函数内部复杂,需要更复杂的代码,您需要编程经验和足够的问题知识来评估代码质量。

Pylint只能警告你可能代码味道的东西,由你来决定代码是否可以改进或是否正常(然后可能会关闭给定的某些警告)声明或功能或模块等)。还有代码气味,pylint无法真正检测到 - 就像一个功能做太多不同的事情 - 所以你仍然需要重新阅读你的代码,并问自己是否可以。可测试性在这里是一个很好的指标,如果你不能轻易地对一个函数进行单元测试,那么很可能它做了太多事情 - 但是这里代码的某些部分(例如桥接UI和域的那些部分)根据定义更难以进行单元测试,所以这里你必须再次使用自己的判断力。

答案 2 :(得分:0)

好的,谢谢你的回答。

我喜欢使用pylint来帮助我更好地编码,我希望pylint项目能解释和论证某些地方的详细信息对初学者有用的警告像我一样:帮助到:

  • 明白为什么考虑这些警告很重要
  • 当某个上下文可以缓和观点时
  • 来自PEP

看起来情况并非如此。

无论如何,虽然它确实没有填写/详细,Pylint messages(我在问我的问题之前发现)仍然是我的问题最不好的答案