一、适当的使用短变量
恰当的使用像i、j、k这样的短变量,有时会让代码更清晰。比如多重for循环的下标或者是嵌套的lambda表达式的迭代变量。因为这些都已经约定俗成了,别人读代码时一看便知。我把它们称之为“随手变量”,意思就是随手拿来临时用一下,用完即扔。注意这“随手变量”的作者域一定不能太大,否则到后面你都不知道它存放的是什么东西了,因为它的命名无法体现出用途。
比如,打印乘法表:
for(int i = 1; i < 10; i ++)
{
for(int j = 1; j <=i; j ++)
{
printf("%d*%d=%d ", i, j, i * j);
}
printf("\n");
}
对两维列表中的每个元素乘以2:
nums = [[1, 2], [3, 4]]
result = [[y * 2 for y in x] for x in nums]
如果i、j、k一组还不够用,我们还可以使用a,b,c m,n,o x,y,z:
二、文件相关变量的命名
进行文件操作时,我们需要定义相关的一些变量,比如目录、文件名、全路径。我在写代码是使用以下的变量命名约定:比如有一个配置文件,它的全路径变量就命名为config_path,而它所在的目录就是config_directory,配置文件本身直接用fd_config,具体如下:
fd - 表示文件本身,fd是文件描述符(file descriptor),来自于c语言习惯,认可度比较高,这样写大家都懂;
file_name - 表示文件名如:"c.txt";
file_name_without_extension - 表示不带后缀的文件名,因为平时也用得比较少,所以名字长点无所谓,如"c";
extension - 表示文件扩展名如:"txt";
directory - 表示文件的目录如:"a/b";
holder - 表示文件夹如:"a";
path - 表示全路径,如:"a/b/c.txt";
如果是目录后面不要加"/",这样在以后拼全路径时format中的格式字符串会出现"/",比较直接的看出这是一个路径