如何处理长路径名以符合 pep8 要求?
how to handle long path name for pep8 compliance?
为了符合 pep8,我将如何处理如下所示的长路径名?即使变得有些不可读,是否必须每行 79 个字符?
def setUp(self):
self.patcher1 = patch('projectname.common.credential.CredentialCache.mymethodname')
有多种方法可以做到这一点:
用一个变量来存储这个
def setUp(self):
path = 'projectname.common.credential.CredentialCache.mymethodname'
self.patcher1 = patch(path)
字符串连接:
像 v = ("a" "b" "c")
这样的赋值被转换成 v = "abc"
:
def setUp(self):
self.patcher1 = patch(
"projectname.common.credential."
"CredentialCache.mymethodname")
告诉 pep8 我们不再使用带有 --max-line-length=100(或一些足够合理的值)的 80 列终端。 (下面的帽子提示@chepner :))
PEP8 中的 79 个字符限制更多地是基于历史信念而不是实际可读性。 PEP8 的所有内容都是一个指南,但这个指南比大多数建议更容易被忽视。 pep8
工具甚至有一个特定选项,用于更改被视为 "too long".
的值
pep8 --max-line-length 100 myscript.py
我经常完全禁用测试:
pep8 --ignore E501 myscript.py
我更喜欢带串联的变体。
def setUp(self):
self.patcher1 = patch(
"projectname.common.credential."
"CredentialCache.mymethodname")
调用函数时也不需要连接大括号。
80 列准则不仅是为了人们在 1980 年的 barkley unix 终端上编码,而且还保证了项目之间的一些一致性。多亏了它,您可以根据自己的喜好设置 IDE 的 GUI,并确保它适用于所有不同的项目。
唉,有时最好的解决办法就是违反它,这种情况极为罕见,但确实会发生。正是出于这个原因,您可以用评论标记该行:# noinspection PyPep8
这样您就可以将您的代码变成:
def setUp(self):
# noinspection PyPep8
self.patcher1 = patch('projectname.common.credential.CredentialCache.mymethodname')
这将使您完全遵循 pep8 的准则,包括线路限制,而不必担心这种虚假报告。遗憾的是,并非所有检查器都支持此指令,但它正在慢慢实现。
为了符合 pep8,我将如何处理如下所示的长路径名?即使变得有些不可读,是否必须每行 79 个字符?
def setUp(self):
self.patcher1 = patch('projectname.common.credential.CredentialCache.mymethodname')
有多种方法可以做到这一点:
用一个变量来存储这个
def setUp(self): path = 'projectname.common.credential.CredentialCache.mymethodname' self.patcher1 = patch(path)
字符串连接:
像
v = ("a" "b" "c")
这样的赋值被转换成v = "abc"
:def setUp(self): self.patcher1 = patch( "projectname.common.credential." "CredentialCache.mymethodname")
告诉 pep8 我们不再使用带有 --max-line-length=100(或一些足够合理的值)的 80 列终端。 (下面的帽子提示@chepner :))
PEP8 中的 79 个字符限制更多地是基于历史信念而不是实际可读性。 PEP8 的所有内容都是一个指南,但这个指南比大多数建议更容易被忽视。 pep8
工具甚至有一个特定选项,用于更改被视为 "too long".
pep8 --max-line-length 100 myscript.py
我经常完全禁用测试:
pep8 --ignore E501 myscript.py
我更喜欢带串联的变体。
def setUp(self):
self.patcher1 = patch(
"projectname.common.credential."
"CredentialCache.mymethodname")
调用函数时也不需要连接大括号。
80 列准则不仅是为了人们在 1980 年的 barkley unix 终端上编码,而且还保证了项目之间的一些一致性。多亏了它,您可以根据自己的喜好设置 IDE 的 GUI,并确保它适用于所有不同的项目。
唉,有时最好的解决办法就是违反它,这种情况极为罕见,但确实会发生。正是出于这个原因,您可以用评论标记该行:# noinspection PyPep8
这样您就可以将您的代码变成:
def setUp(self):
# noinspection PyPep8
self.patcher1 = patch('projectname.common.credential.CredentialCache.mymethodname')
这将使您完全遵循 pep8 的准则,包括线路限制,而不必担心这种虚假报告。遗憾的是,并非所有检查器都支持此指令,但它正在慢慢实现。