每个pylint警告背后的规则、概念和用法在哪里?

2024-06-11 06:33:35 发布

您现在位置:Python中文网/ 问答频道 /正文

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

  • 从陈述/指导中学到更多
  • 深化一些概念
  • 评估重构的优点/缺点
  • 等等

那么,有没有一个地方可以讨论、论证、解释所有的警告,或者这些警告仅仅来自pylint团队的伟大思想?你知道吗


Tags: 代码声音概念警告质量pythonicpylint重构
3条回答

好的,谢谢你的回答。你知道吗

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

  • 理解为什么考虑这些警告很重要
  • 当某种语境可以调和观点时
  • 当它来自一个政治公众人物
  • 等等

看来情况并非如此。你知道吗

不管怎样,尽管它确实不够详细,但是Pylint messages(我在提问之前发现的)仍然是我的问题中最不糟糕的答案。你知道吗

回答您的意见:

When I have some warnings I'd like to know a bit more than "too many 'whatever'", "invalid 'something'", etc. If my code work fine I assume these warnings are kind of guide lines and mays be studied with the context. For syntax, I refer on PEP8, but for the other warnings? OK all warning do not have a PEP. Why the max branch is set to 15, statements is set to 50, variables set to 15, etc. ?

这些基本上是基于“最佳实践”--“黄金法则”这主要是从经验中得出的,但有时可能有点随意的一面-实际上你提到的数字确实是随意的,但你必须在这里设置一个任意的限制,至少直到pylint增长和IA。你知道吗

If python accept to run the code what is the point…?

因为代码必须被维护——通常你花在维护代码(修复bug、提高性能和添加特性)上的时间要比写第一个版本多出数百倍——而做一件事的小型、解耦良好、简单的函数更容易阅读、理解,与过长的函数同时执行三种不同的操作相比,使用嵌套较深的分支和大量的副作用实现的原因和测试要复杂得多。你知道吗

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

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

当我把pylint warnings输入到一个web(google)搜索栏时,第一个点击是PyLint Messages,其中有一个指向解释每条消息的页面的链接。你知道吗

相关问题 更多 >