← 返回目录

15. 前端项目规范(目录 / 命名 / 注释)

规范听起来很无聊,但它是"团队协作的地基"。你一个人写代码随便乱命名无所谓,但团队里十几个人一起改一个项目——你的代码别人 3 秒看不懂,沟通成本就爆炸。规范的核心就是让代码"见名知意",不用读细节就知道大概干嘛的。

三个最基本的:目录别堆一起(分开放)、命名别乱起(有规律)、注释别废话(写为什么不写是什么)

15.1 互动演示(命名规范小测验)

下列哪个命名符合规范?
点一个答案,看是否符合规范及原因。

15.2 知识点讲解

① 项目目录分层规范(别全堆根目录)

很多新手项目打开根目录全是文件——html、css、js、图片全混在一起,找个文件要翻半天。规范的做法是按类型分文件夹

project / ├─index.html 首页页面├─ login.html 登录页面├─ pages / 其他业务页面│└─ order.html├─ css / 样式文件夹│├─ common.css 公共通用样式( 重置、 按钮、 弹窗)│└─ order.css 订单页独立样式├─ js / JS 文件夹│├─ utils / 工具函数││└─ request.js 请求封装│├─ api / 接口管理││├─ user.js││└─ order.js│├─ common.js 全局公共逻辑│└─ pages / 页面业务逻辑│└─ order.js├─ images / 图片资源└─ lib / 第三方库( jQuery 等)

原则就三条:资源分离(html/css/js/图片分开)、功能分层(工具、接口、页面逻辑分开)、第三方库隔离(放 lib,不和自己代码混)。

② 文件、变量、函数命名规范

// ===== 文件命名 =====
user - list.html // html 页面:全小写,单词用短横线
order - detail.css // css 同上
userApi.js // js 工具/接口文件:小驼峰
user - info // 文件夹:全小写 + 短横线

// ===== 变量命名 =====
let userName = "张三"; // 普通变量:小驼峰
const BASE_URL = "http://..."; // 常量(固定不变的):全大写 + 下划线
const $submitBtn = $("#submit"); // jQuery 对象:前面加 $ 区分原生 DOM
let isLoading = false; // 布尔值:用 is/has/can 开头
// 禁止:let a, b, c 这种单字母、中文命名、拼音命名

// ===== 函数命名:动词 + 名词 =====
getUserList // 获取数据
addOrder // 新增
updateInfo // 更新
deleteItem // 删除
renderTable // 渲染页面
function handleSearch() {} // 事件处理函数:handle 开头
// 禁止:func1、test 这种没意义的名字

jQuery 变量加 $ 前缀、布尔值加 is/has/can、函数动词开头——一眼就能看出这个变量是什么类型、干嘛的。

③ 注释编写规范(写"为什么",不写"是什么")

// 文件头部注释(工具/接口文件必须写)
/**
 * 用户相关接口
 * @author 你的名字
 * @description 用户新增、查询、登录请求封装
 */

// 函数文档注释(通用工具、请求函数)
/**
 * 通用接口请求
 * @param {string} method 请求方式 GET/POST
 * @param {string} url 接口路径
 * @param {Object} data 请求参数
 * @returns {Promise} 后端返回数据
 */
function request(method, url, data) {}

// 单行注释:解释"为什么这么写",不是复述代码
// 401 代表登录过期,清空 token 后跳登录页
if (res.code === 401) {}

别写废话注释——比如 let num = 10; // 定义一个数字 这就是废话,代码本身已经说明了。注释要解释"为什么这么写"——比如为什么要清 token、为什么这里要特殊处理。

④ 实战:用在哪 / 常见坑 / 怎么解决

可能在什么地方用:

① 团队协作项目必须按规范来,不然别人看不懂;② 自己的项目过半年回头看,不规范自己都看不懂自己写的啥。

常见的问题:

① 所有文件堆根目录,找文件找半天;② 变量名起 a、b、temp,过两周忘了是啥;③ 注释全是废话——"这是一个循环";④ 保留一大段注释掉的废弃代码,看着乱。

解决思路:

① 按上面的目录结构建文件夹;② 命名时多花 3 秒想个有意义的名字;③ 注释写"为什么",不写"是什么";④ 不用的代码直接删,别注释留着。

一句话:目录资源分离变量小驼峰常量全大写函数动词+名词注释写为什么

15.3 课后作业(融入本节)

练习一:项目目录搭建——按上面的目录结构创建一个新项目,包含 index.html、login.html、pages/、css/、js/utils/、js/api/、images/、lib/。

练习二:命名实践——为以下场景起变量名和函数名:存储用户姓名、是否加载中、获取订单列表、删除用户、处理搜索点击。

练习三:注释实践——给 request.js 加文件头注释、给 request 函数加文档注释、在 401 跳转代码上方加单行注释解释为什么要清 token。