使用多种命名约定能否保持一致?
Can use of multiple naming conventions be consistent?
有人告诉我,虽然 camelCase 和 under_scores 都是可接受的变量名,但我需要保持一致我的方法。
一致到底有多一致?在某些情况下同时使用两者是否可以接受并且是 Pythonic?
例如我可以在我的主代码中使用 camelCase 作为变量,在我的函数中使用 under_scores 吗?或者一个变量的答案来自我自己的函数,另一个变量的答案是其他函数?
这两者都可以以一种使阅读它的人更容易理解和遵循基本系统规则的方式完成,仅此一项就可以同时使用两者,还是我希望只遵循一个命名约定?
使用 under_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)
P.S。如果这合适,我是否应该在评论中提及,以便其他用户知道要注意它?
P.S.S.请以任何方式提醒我 update/improve 我的问题和未来的问题。
命名约定是为了提高代码的清晰度,并使许多开发人员更容易在同一代码库上工作。
因此,您的问题的答案确实取决于具体情况。如果您在专业环境中工作,则应遵守公司使用的任何命名约定。如果没有现成的命名约定,您应该争取一个。一般来说,任何新的 Python 项目都应该遵守 PEP8 style guide,除非有充分的理由不这样做(例如:使用不同风格指南的多年遗留代码)。
无论您是在处理新项目还是遗留代码,我个人认为混合使用驼峰式命名和 under_scores 并不是一个好主意。您提供的示例听起来很合理,但这不是其他开发人员知道的约定,除非在注释中进行了解释。
为了保持一致,您可以使用 under_scores 而不是 camelCase,因为前者比后者更具可读性。您可以查看其中一篇关于命名约定的帖子 here.
在某些情况下同时使用两者是否可以接受并且符合 Pythonic?
是的,同时使用两者是可以接受的并且是 pythonic,但仅在特定情况下使用。您可以检查 PEP-8 开发人员的 guid。
对于函数名
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 个名字
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 很有意义。 类 的 CapWords,UPPER_CASE 的常量和 names_with_underscores 的所有其他内容。
我在我的代码中添加了过多的注释。即使变量完全拼写出来,注释仍然有帮助。
对于像我这样患有 CRS(记不住狗屎)的人来说,当我回头查看代码时,长变量名可以帮助我记住变量包含的内容。
有人告诉我,虽然 camelCase 和 under_scores 都是可接受的变量名,但我需要保持一致我的方法。
一致到底有多一致?在某些情况下同时使用两者是否可以接受并且是 Pythonic?
例如我可以在我的主代码中使用 camelCase 作为变量,在我的函数中使用 under_scores 吗?或者一个变量的答案来自我自己的函数,另一个变量的答案是其他函数?
这两者都可以以一种使阅读它的人更容易理解和遵循基本系统规则的方式完成,仅此一项就可以同时使用两者,还是我希望只遵循一个命名约定?
使用 under_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)
P.S。如果这合适,我是否应该在评论中提及,以便其他用户知道要注意它?
P.S.S.请以任何方式提醒我 update/improve 我的问题和未来的问题。
命名约定是为了提高代码的清晰度,并使许多开发人员更容易在同一代码库上工作。
因此,您的问题的答案确实取决于具体情况。如果您在专业环境中工作,则应遵守公司使用的任何命名约定。如果没有现成的命名约定,您应该争取一个。一般来说,任何新的 Python 项目都应该遵守 PEP8 style guide,除非有充分的理由不这样做(例如:使用不同风格指南的多年遗留代码)。
无论您是在处理新项目还是遗留代码,我个人认为混合使用驼峰式命名和 under_scores 并不是一个好主意。您提供的示例听起来很合理,但这不是其他开发人员知道的约定,除非在注释中进行了解释。
为了保持一致,您可以使用 under_scores 而不是 camelCase,因为前者比后者更具可读性。您可以查看其中一篇关于命名约定的帖子 here.
在某些情况下同时使用两者是否可以接受并且符合 Pythonic?
是的,同时使用两者是可以接受的并且是 pythonic,但仅在特定情况下使用。您可以检查 PEP-8 开发人员的 guid。
对于函数名
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 个名字
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 很有意义。 类 的 CapWords,UPPER_CASE 的常量和 names_with_underscores 的所有其他内容。
我在我的代码中添加了过多的注释。即使变量完全拼写出来,注释仍然有帮助。
对于像我这样患有 CRS(记不住狗屎)的人来说,当我回头查看代码时,长变量名可以帮助我记住变量包含的内容。