程序里有很多东西需要命名,
良好的命名习惯可以提高编程效率; 减少出错;
良好命名的程序清晰易读。
好的名称可以提供很多有价值的信息。
本文解释作者在《Python编程基础及应用》一书中所使用的命名规则。
本文节选自作者的《Python编程基础及应用》视频教程。
命名示例
变量、类的数据成员
iSum sName fPrice
函数名称
add() convert() del() empty() push_back() pop()
getPrice() setPrice() draw() render() repaint()
类型名称
Student GraphDrawer Campus Engine
FloatBuffer Lesson Monitor Printer EMailPacket
版权声明
本文可以在互联网上自由转载,但必须:注明出处(作者:海洋饼干叔叔)并包含指向本页面的链接。
本文不可以以纸质出版为目的进行改编、摘抄。
正确, 错误 vs 好,相对不好, 坏
只要符合所用语言的命名规则的命名原则上都是“正确”的。
不同的人有不同的命名习惯。
没有标准答案,只有主观的好或者相对不好的判断。
但真的很重要:
良好的命名习惯可以提高编程效率; 减少出错;
良好命名的程序清晰易读。
好的名称可以提供很多有价值的信息。
规则1 全程使用英文,不准用拼音
▪KHBH XH ZHYE DQJG - 猜得出这些名称是什么意思吗?
sCustomerNo, sStudentNo fAccountBalance fCurrentPrice
Too long for you ?
sCusNo, sStuNo, fAccBalance , fCurPrice
规则2 变量/类的数据成员的命名
类型名缩写(小写) + 英文单词或其缩写(首字母大写)
类型
解释
缩写
举例
float
浮点数
f
fPrice fSum fAmount fScore fHeight fWeight
int
整数
i
iCount / iCnt iStudentCount iWidth iHeight iCapacity
string
字符串
s
sStudentNo sMemo sHint sDiagnostics sContent sName
bool
布尔型
b
bFound bCaptured bFull bHungry bDied bMarried bAvailable
如果变量表达的是一个集合(数组或者list), 用小写的英文单词的复数形式:
students members prices wheels teachers universities shoes arms
规则3 函数的命名
一个英文单词: 小写
add() convert() del() empty() try() pop() push()
两个英文单词: 第二个单词首字母大写 动+名
addAmount() setPrice() getPrice()
setEmpty() pushDown() riseUp()
toString() toDouble()
规则4 类型的命名
由一个或者两个英文单词构成,每个单词的首字母均大写
FloatBuffer PrinterQueue Student Lesson
Movie Song Employee
Team Board Company
Supplier GoldFish CellPhone
GraphDrawer
在面向对象程序设计当中,一个文件通常只包括一个类型,通常文件名由类型名 + . + 扩展名构成:
Student.py Company.h Company.cpp PrinterQueue.java
规则5 例外
如果有一个临时变量,仅在上下几行局部代码中被使用,用完即弃,可以用小写单字母:(代码阅读者容易通过上下文确定变量的类型和用途)
s = s + “, Done”
print(s)
for i in range(100):
print(i)
当心中文目录及中文文件名
很多开发环境及软件对中文的支持并不好,永远不要使用任何包含中文的目录或文件名:
示例
正/误
d:/学习资料/python/实验1
X
d:/Learing/python/Test1
√
忠告
命名这件事不同的人有不同的看法。
认真命好每个名, 尽量遵守规则。
表面上花时间,实际上省时间。
程序如果需要交给教师检查或者请求教师协助,两件事情先做好:
确认命名符合要求;