使用多个命名约定是否可以保持一致?

2024-09-30 04:26:58 发布

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

我被教导,虽然camelCaseunder \u scores都是可接受的变量名,但我的方法需要一致。你知道吗

但一致性到底有多强?在某些情况下使用这两种方法是否可以接受和可行?你知道吗

例如,我是否可以将camelCase用于主代码中的变量,将用于函数中的变量?或者一个变量的答案来自于我自己的函数,另一个变量的答案来自于其他函数?你知道吗

这两种方法都可以让阅读者更容易理解和遵循基本的系统规则,单凭这一点就可以同时使用这两种方法,还是我只需要遵循一种命名约定?你知道吗

对答案来自用户定义函数的变量使用under-u scores,对其他变量使用camelCase的示例。你知道吗

# My function.
def reverse(variableCalledA):
    variableNamedB = reverseVariableA(variableCalledA)  # {= 235}.
    return variableNamedB

# Main code.
variableCalledA = 532
**reversed_variable_called_b** = reverse(variableCalledA)
answer = variableCalledA - **reversed_variable_called_b**
print(answer)

另外,如果这是合适的,那么我应该在评论中提到它,以便其他用户知道要注意它吗?你知道吗

另外,请提醒我如何更新/改进我的问题和未来的问题。你知道吗


Tags: 方法函数答案用户answervariablereverseunder
3条回答

命名约定是为了提高代码的清晰度,使许多开发人员更容易在同一个代码库上工作。你知道吗

因此,你的问题的答案取决于具体情况。如果你在一个专业的环境中工作,你应该遵守公司使用的任何命名惯例。如果没有现有的命名约定,您应该推动一个。一般来说,任何新的Python项目都应该遵循PEP8 style guide,除非有充分的理由不这样做(例如:使用不同样式指南的多年遗留代码)。你知道吗

不管你是在做一个新的项目还是在写遗留代码,我个人的观点是把camelCase和under-u分数混合在一起都不是一个好主意。您提供的示例听起来很合理,但它不是其他开发人员知道的惯例,除非在注释中对此进行了解释。你知道吗

为了保持一致,您可以使用under \u scores而不是camelCase,因为前者比后者更具可读性。您可以看到一篇关于命名约定here的文章。你知道吗

在某些情况下使用这两种方法是否都是可以接受的?

是的,这是可以接受的和Python都使用,但只有在某些情况下。您可以检查devs的PEP-8guid。你知道吗

函数名

Function names should be lowercase, with words separated by underscores as necessary to improve readability.

某些情况包括向后兼容性

mixedCase is allowed only in contexts where that's already the prevailing style (e.g. threading.py), to retain backwards compatibility.

对于类名

Class names should normally use the CapWords convention.

The naming convention for functions may be used instead in cases where the interface is documented and used primarily as a callable.

最后,如果你是建立在一些图书馆的顶部,最好是与图书馆的风格。对于pythonic约定,PEP-8用于指导开发人员。你知道吗

代码是为你自己编写的还是你正在与他人合作的项目?我认为最好遵循球队的风格标准。这样您的团队就可以遵循您的代码。你知道吗

当你为自己写作的时候。使用对你有意义的系统,这样当你一年后阅读代码时就不必费劲了。你知道吗

PEP8是有道理的。类的大写字母,常量的大写字母,以及其他带有下划线的名称。你知道吗

我在代码中添加了过多的注释。即使变量已经完全阐明,注释仍然有帮助。你知道吗

对于像我这样有CRS(他妈的不记得了)的人来说,当我回头看代码时,长变量名可以帮助我记住变量包含的内容。你知道吗

相关问题 更多 >

    热门问题