软件命名法你了解多少?

219 阅读2分钟

前言

在软件工程领域,命名是一个逃不掉避不开的话题,也是令工程师最头疼的事,这里来梳理一下命名风格的分类和各种风格命名的适用场景。

命名的目的是为了更好的理解名称代表的事物,由于软件兴起来源于西方,所以目前命名的主要都是使用字母加字符的组合,使用中文和其他语言非常稀少,虽然很多语言也支持了但是不是主流风格。

命名风格分类

  • 蛇形命名法(snake_case):又叫下划线命名法,使用下划线,单词小写,比如:my_system;
  • 驼峰命名法(CamelCase):按照单词首字母区分大小写,又可细分为大驼峰命名法和小驼峰命名法,比如:MySystem,mySystem;
  • 匈牙利命名法(HN case):属性 + 类型 + 描述,比如:lAccountNum,arru8NumberList,szName,u32Identifier,fnFunction;
  • 帕斯卡命名法(PascalCase):全部首字母大写,等同于大驼峰命名法,比如:MySystem;
  • 脊柱命名法(spinal-case):使用中划线,比如:my-system;
  • 自由命名法(StUdLyCaPs):大小写混杂,无规则,比如:mySYSTEM,MYSystem;

由于可读性和信息表达效率,驼峰命名法蛇形命名法更受到大家的欢迎,几乎所有编程语言都会采用

使用场景

命名风格场景案例介绍
蛇形命名法文件名,文件夹名,部分语言的方法名变量名my_system蛇形命名法 Wiki
驼峰命名法类名,枚举常量MySystem 驼峰命名法 Wiki
匈牙利命名法变量名lAccountNum匈牙利命名法 Wiki
帕斯卡命名法类名MySystem 帕斯卡命名法 Wiki
脊柱命名法Unix和Linux系统中传统的文件夹my-system-
自由命名法没有规律,随意MYSystem-

不同语言的命名习惯参考:命名规则 (程序设计),命名风格没有对错优劣之分,只是大家的习惯不一样演变成不同的流派,不同的语言需要按照场景使用对应的主流命名风格,但是命名真的不是一件容易的事。


正如一句经典的话语,道出了计算机领域两个最大的难题:命名与缓存。

There are only two hard things in Computer Science: cache invalidation and naming things. – Phil Karlton