Python函数命名-PEP8编码规范的说明及IDE提示的忽略 - Go语言中文社区

Python函数命名-PEP8编码规范的说明及IDE提示的忽略


对IDE提示的好奇

在使用Python编程时,某函数setMainFrameColor()出现了黄色下划线并有以下信息
Function name should be lowercase less… (Ctrl+F1)
Inspection info: This inspection checks the PEP8 naming conventions.

翻译过来就是:
函数名需要小写
检视信息:检视器检测到了PEP8命名规范
在说PEP8前首先介绍命名法.

驼峰命名法与下划线法

骆驼式命名法(Camel-Case)又称驼峰式命名法,是电脑程式编写时的一套命名规则(惯例)。正如它的名称CamelCase所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。程序员们为了自己的代码能更容易的在同行之间交流,所以多采取统一的可读性比较好的命名方式。

#驼峰命名法
printEmployeePaychecks();
def setMainFrameColor(self, color):
        ...
#下划线法
print_employee_pay_checks();
def set_main_frame_color(self, color):
        ...     

在Java语言中比较流行驼峰命名法,而在C语言中则流行下划线法,至少老师是这样教过(大雾

PEP8编码规范

Introduction 介绍
本文提供的Python代码编码规范基于Python主要发行版本的标准库。Python的C语言实现的C代码规范请查看相应的PEP指南1。
这篇文档以及PEP 257(文档字符串的规范)改编自Guido原始的《Python Style Guide》一文,同时添加了一些来自Barry的风格指南2。
这篇规范指南随着时间的推移而逐渐演变,随着语言本身的变化,过去的约定也被淘汰了。
许多项目有自己的编码规范,在出现规范冲突时,项目自身的规范优先。

A Foolish Consistency is the Hobgoblin of Little Minds 尽信书,则不如无书
Guido的一条重要的见解是代码阅读比写更加频繁。这里提供的指导原则主要用于提升代码的可读性,使得在大量的Python代码中保持一致。就像PEP 20提到的,“Readability counts”。
这是一份关于一致性的风格指南。这份风格指南的风格一致性是非常重要的。更重要的是项目的风格一致性。在一个模块或函数的风格一致性是最重要的。
然而,应该知道什么时候应该不一致,有时候编码规范的建议并不适用。当存在模棱两可的情况时,使用自己的判断。看看其他的示例再决定哪一种是最好的,不要羞于发问。
特别是不要为了遵守PEP约定而破坏兼容性!

随便在中文文档中抄了点介绍,原文见PEP8编码规范
其中,在命名规范章节找到了以下信息:

Prescriptive: Naming Conventions 约定俗成:命名约定
Function Names 函数名
函数名应该小写,如果想提高可读性可以用下划线分隔。
大小写混合仅在为了兼容原来主要以大小写混合风格的情况下使用(比如 threading.py),保持向后兼容性。

所以如果按照PEP8的标准,函数名不应该大写,但是意味着分割单词需要用下划线而不能使用驼峰命名法了
但是 Who care 呢? 《Python基础教程(第三版)》不也有一些驼峰命名法吗,例如:

#P349
def writeHeader(self, title):
		...
#P344
def startElement(self, name, attrs)
		...
def endElement(self, name):
		...

所以只要能保证看着觉得顺眼,可读性高就没问题了,更难的是如何用优秀的英语能力去优化函数名,例如

def calculate_and_store_the_result_by_admin()

关闭IDE提示

这里使用的IDE是JetBrains PyCharm 2018.2.4 x64
左上角File->Setting->搜索 inspections 在右侧找到 “PEP 8 naming convention violation” 取消名字旁边的√即可
在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/xHibiki/article/details/83692665
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢