我将在这里使用argparse作为例子,但我认为它适用于很多事情。考虑:
parser = argparse.ArgumentParser(description="This is a description of how this program works.")
subparsers = parser.add_subparsers(title="subcommands")
parser_sub1 = subparsers.add_parser("sub1",
description="subcommand 1 does something something something")
parser_sub1.add_argument("arg1",
help="Arg1 does somethign something something.")
等20条丑陋的线条。
add_argument,特别是add_parser行很长,很大程度上是因为help / description字符串。但我认为没有明显的方法可以干净地缩短它们。正如您所看到的,以通常方式在第二行缩进只会获得几个字符。将字符串拆分为多行会很快变得尴尬。
我在通过-m pep8运行一些代码时遇到了这个问题,它抱怨几乎每个add_argument行都是> 80个字符。根本问题似乎是直到开括号的行的部分本身太长以至于不适合后面的字符串,即使在参数之间存在间断和缩进。我可以通过以下几种方式来解决这个问题:
ps1 = parser.add_subparsers(whatever)
psaa = parser_sub1.add_argument
)是否有一种已知的有效方法来处理冗长的函数参数,当自然写入时,它们会被80个字符约定所阻塞?
答案 0 :(得分:0)
这是一个品味和意见的问题,但在这里,有两个!
有些团队更喜欢更长的线路长度。维护代码 完全或主要由可以就此达成一致的团队 问题,可以将标称线长从80增加到100 字符(有效地将最大长度增加到99 字符)
答案 1 :(得分:0)
x = ('string literal broken across two lines '
... 'but it works because the parens keeps them together.')
>>> x
'string literal broken across two lines but it works because the parens keeps them together.'
>>> print('If this was already in the parens of an argument list '
... 'you are already in a context where string literal '
... 'concatenation works.')
If this was already in the parens of an argument list you are already in a context where string literal concatenation works.