上位机知识篇---命名规则

在计算机领域,命名规则是为了让文件、变量、函数等命名更规范、易读、易维护而形成的约定或规定。不同场景(如文件命名、编程语言、数据库等)有不同的规则,下面分类介绍:

一、通用核心原则(所有场景都适用)

  1. 有意义 :名称要能体现内容 / 功能,比如用 user_age 而不是 a1。
  2. 简洁 :在表意清晰的前提下尽量简短,比如 avg_score 比 average_score_of_students 更好。
  3. 避免关键字 :不能用系统 / 语言自带的关键字(如 if、class、int 等)。
  4. 一致性:同一项目中保持命名风格统一(比如全用下划线或全用驼峰)。

二、文件 / 文件夹命名规则

不同操作系统对文件名的限制不同,但有通用规范:

1. 禁止使用的字符

所有系统都禁止:/(路径分隔符)。

Windows 额外禁止:\ : * ? " < > |(这些字符在 Windows 中有特殊用途)。

2. 大小写敏感性
  • Windows/macOS(默认) :不区分大小写(比如 file.txt 和 File.txt 视为同一个文件)。
  • Linux/macOS(部分配置) :区分大小写(file.txt 和 File.txt 是两个不同文件)。
3. 长度限制
  • Windows:文件名 + 路径总长度不能超过 260 字符(否则无法保存)。
  • Linux/macOS:通常限制在 255 字符以内。
4. 最佳实践
  • 用小写字母(避免大小写混淆)。
  • 用下划线 _ 或中划线 - 分隔单词(不用空格),比如 user_info.csv、project-report.pdf。
  • 包含扩展名(如 .txt、.jpg、.py),明确文件类型。
  • 例子:
    ✅ 好:student_grade_list.xlsx、logo_2023.png
    ❌ 差:新建文件1.txt(有空格和无意义数字)、file?123.doc(含特殊字符)

三、编程语言中的命名规则

不同编程语言有不同的 "约定俗称"(非强制,但违反会降低可读性)。

1. C/C++
  • 变量 / 函数 :用 下划线命名法 (全小写,单词用下划线分隔)。
    例:int student_age;、void calculate_avg_score()
  • 宏定义 / 常量 :全大写,下划线分隔。
    例:#define MAX_SIZE 100、const int PI = 3.14;
  • 注意 :区分大小写(age 和 Age 是两个变量),不能以数字开头(如 123name 错误)。
2. Python
  • 变量 / 函数 :下划线命名法(全小写)。
    例:user_name = "Tom"、def get_user_info():
  • 类 :帕斯卡命名法 (每个单词首字母大写,无分隔符)。
    例:class StudentInfo:、class Car:
  • 常量 :全大写,下划线分隔(约定,非强制)。
    例:MAX_STUDENTS = 50
  • 特殊变量 :前后各两个下划线(系统内置,避免自定义),如 __init__(类的初始化方法)。
3. Java
  • 变量 / 方法 :小驼峰命名法 (第一个单词小写,后续单词首字母大写)。
    例:int studentAge;、void calculateAvgScore()
  • 类 :帕斯卡命名法(每个单词首字母大写)。
    例:class StudentInfo、class User
  • 常量 :全大写,下划线分隔。
    例:public static final int MAX_SIZE = 100;
4. JavaScript
  • 变量 / 函数 :小驼峰命名法(和 Java 类似)。
    例:let userName = "Tom";、function getUserInfo() {}
  • 类 :帕斯卡命名法。
    例:class Student {}
  • 常量 :全大写,下划线分隔(通常用 const 声明)。
    例:const MAX_NUM = 10;
5. 其他语言补充
  • PHP :变量名前加 $,变量 / 函数用下划线或小驼峰(两种风格都常见),例:$user_name 或 $userName。
  • Go :变量 / 函数名首字母大写表示 "公开"(可被其他包访问),小写表示 "私有",例:func GetInfo()(公开)、func getInfo()(私有)。

四、数据库命名规则

  • 表名 / 字段名 :通常用小写,下划线分隔(避免关键字)。
    例:表 student、字段 student_id、student_name。
  • 避免关键字 :不用 user、order 等(数据库自带关键字),可加前缀,如 t_user(t 表示 table)、f_order(f 表示 field)。

五、前端(HTML/CSS)命名规则

  • HTML 的 id/class :
    • 用小写,中划线 - 分隔(推荐),例:class="user-info"、id="header-nav"。
    • 避免用数字开头,不包含特殊字符。
  • CSS 类名 :
    常用 BEM 命名法 (块 - 元素 - 修饰符),例:header-logo_active(header是块,logo是元素,active是修饰符)。

总结

核心是 "让名字自己说明含义",不同场景遵循对应的约定即可。记住:好的命名能让别人(或未来的你)一眼看懂含义,减少沟通成本。

相关推荐
智慧城市203017 小时前
关键供应商连续交付不合格批次,说明质量风险可能持续存在。企业需要建立“批次隔离、加严检验、驻厂遏制、复检放行、供应商升级”的处置闭环,同时统筹保供。
数据分析·策略模式·战略咨询·流程管理
happy_baymax2 天前
Dell G3 3590 黑苹果实战:OpenCore 1.0.8 + NullMoth 驱动让 GTX 1660 跑起 Metal
策略模式
遇码2 天前
macOS 触摸板捏合在 GPUI 里无响应:vendor 打补丁,把手势合成为 cmd+滚轮事件
rust·图形渲染·策略模式·桌面应用·gpui
mmsx2 天前
Android 架构分层:MVVM 与 MVP 共存,网络层怎么切
android·策略模式·mvvm·mvp
博风2 天前
7、设计模式应用举例:策略模式:加密、解密文件
设计模式·策略模式
mmsx3 天前
Android 本地优先的三级语义理解降级链
android·数码相机·策略模式
早点睡觉好了3 天前
LangChain 源码入门 02:消息、ChatPromptTemplate 与 Chat Model 调用链
ai·langchain·策略模式
花间相见4 天前
【计算基础|网络12】TCP 抓包与经典边界问题
网络·tcp/ip·策略模式
花间相见4 天前
【计算基础|网络11】TCP(下):拥塞控制与参数优化
网络·tcp/ip·策略模式
小羊没烦恼!5 天前
OS X 上使用.NET开发应用程序
开发语言·前端·数据库·人工智能·c#·策略模式