python变量名应该使用哪些缩写?

2024-04-28 07:20:06 发布

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

一般来说,我对变量使用PEP-8中规定的标准命名。比如:

delete_projects
connect_server

不过,有时候我找不到好名字,名字只能延伸到一个很长的名字:

^{pr2}$

我可以使用pr_nm_del,但这使代码无法读取。我真的很难为函数找到好的变量名。每当我开始编写一个新函数时,我都会花时间寻找一个好的变量名。在

对于像delete,project,configuration, etc.这样的著名变量名,有没有选择某些缩写的标准?如何选择简短但又好又可读的变量名?在

这个问题可能不直接依赖于Python,但是由于不同的编程语言使用不同的变量名格式,我想我把这个问题限制在Python上。在


Tags: 函数代码标准serverconnectprdelete名字
3条回答

在您的示例中,有一个名为delete_project的函数。想知道如何调用存储要删除的项目的变量?只是“项目”!在

def delete_project(self, project):
    del self.projects[project]

简单。在

变量名不必是完全描述性的。上下文可以帮助我们在特定时间点理解特定名称。在讨论删除project的函数时,不必说“这是要删除的项目”。在

如果你发现函数名太长,那么它们可能做得太多了。如果您发现变量名变得太长,请考虑它们在当前上下文中的用途,看看是否可以暗示部分名称。在

pr_nm_del?你还是让猫来命名吧。我认为应该不惜一切代价避免使用缩略语,除了众所周知/明显的缩略语(比如del,正如评论中提到的那样,它甚至是一个语言关键字!)这样可以节省大量的打字。在

但这并不意味着标识符过于冗长。正如上下文对于理解自然语言中的语句很重要一样,通过引用上下文,标识符通常可以保持更短(并且同样可以理解)。在您的示例中,project_name非常好—该过程已经被称为delete_project,因此project_name显然是指要删除的项目的名称。即使是{}也可以。不需要通过附加_to_be_deleted来再次声明。在

这是一个问题,当你在做OOP的时候,它会自动解决。主语(project, configuration)是类,动词(delete, etc)是方法名,即:

class Workspace(object):

   def delete_project(self, project):
       log.info("Deleting", project.name)
       ...

相关问题 更多 >