|
|
1
86
首先,一个 Perlis's epigrams :
10个论点中的一些大概是相关的。将它们组合成一个对象,然后传递给它。 举个例子,因为问题中没有足够的信息可以直接回答:
那么你的10参数函数:
变成:
呼叫方更改为:
|
|
2
35
你想用更好的方式来传递论点还是仅仅是一种停止的方式
或:
记得尽快打开它们。
在我看来,没有什么
固有地
错误的做法是传递大量的参数和解决方案,主张将它们全部打包到某个容器参数中,这样做并不能真正解决任何问题,除非停止
如果你需要传递20个参数,那么就传递它们。这可能是必需的,因为您的函数做得太多,重新分解可能会有帮助,这是您应该考虑的问题。但这不是决定 我们 除非我们看到真正的代码是什么,才能真正做到。 |
|
|
3
21
您可以轻松地更改PyLLT中参数的最大允许数量。只需打开pylintrc文件(如果还没有,则生成该文件)并更改: 最大ARGS=5 到: 最大参数=6或任何适合您的值 来自派林特的 manual
|
|
|
4
12
你可以试着用 Python's variable arguments 特点:
|
|
|
5
7
也许您可以将一些参数转换为成员变量。如果你需要那么多的州,我觉得上课是个好主意。 |
|
|
6
6
简化或分解该函数,使其不需要9个参数(或忽略pylint,但像您提议的那样闪避,从而破坏lint工具的用途)。 编辑:如果这是一个临时措施,请按如下所述使用注释禁用有关特定功能的警告: http://lists.logilab.org/pipermail/python-projects/2006-April/000664.html 稍后,您可以对所有禁用警告进行GRIP。 |
|
|
7
4
对帕西亚布洛的回答发表评论-因为我没有足够的声誉直接发表评论:-/ 我不喜欢提到这个数字,合成词的名字更具表现力,并且避免了添加一个随着时间推移可能会过时的注释。 所以我宁愿:
我也建议不要让它悬在那里:它将一直保持活动状态,直到文件结束或被禁用,以先到者为准。 做得更好:
我还建议每行启用/禁用一个警告/错误。 |
|
|
8
0
python有一些很好的函数式编程工具,它们很可能很好地满足您的需求。退房 lambda functions 和 map . 而且,你在使用听写的时候,似乎你会得到更好的列表服务。对于您提供的简单示例,请尝试以下习惯用法。请注意,地图会更好更快,但可能不符合您的需要:
你提到过有很多局部变量,但坦白地说,如果你处理的是列表(或元组),你应该使用列表,并从长远来看排除所有这些局部变量。 |
|
|
9
-1
我遇到了同样的麻烦错误,我意识到这与pycharm自动检测到的一个很酷的特性有关……只要添加@staticmethod decorator,它就会在使用该方法的地方自动删除该错误。 |
|
|
Glory Raj · 有什么方法可以使这两个块具有共同的功能吗 3 年前 |
|
|
Justin · Python自属性重命名 8 年前 |
|
|
Sabutobi · 长dict属性行的重构 8 年前 |
|
|
Falco Alexander · 简单LINQ重构/样式 8 年前 |
|
|
05bs001 · Euler 12需要优化 8 年前 |
|
|
slartidan · 如何将lambda表达式重构为方法引用? 8 年前 |
|
|
Alex · 在Java类中频繁使用与映射键相同的字符串[已关闭] 8 年前 |