前端编码规范

简介: 前端编码规范

一、编程规约

(一)命名规范

1. 函数

  • 命名方法:小驼峰(作为类使用大驼峰,不建议使用函数作为类来使用,请直接使用es6+的class)
  • 命名规范:前缀应为动词
  • 命名建议:可使用常见动词约定
动词 含义 返回值
can 判断是否可执行某个动作(权限) 函数返回一个布尔值。true:可执行;false:不可执行
has 判断是否含有某个值 函数返回一个布尔值。true:含有此值;false:不含有此值
is 判断是否为某个值 函数返回一个布尔值。true:为某个值;false:不为某个值
get 获取某个值 函数返回一个非布尔值
set 设置某个值 无返回值,返回是否设置成功或者返回链式对象
load 加载某些数据 无返回值或者返回是否加载完成的结果

2. 变量

每个局部变量都需要有一个类型前缀

前缀 含义 事例
s 表示字符串 sName、sHtml
n 表示数字 nPage、nTotal
b 表示逻辑 bChecked、bHasLogin
a 表示数组 aList、aGroup
r 表示正则表达式 rDomain、rEmail
o 表示对象 oDiv、oButton

(二)注释规范

  • 大区块分割必须有注释
  • 待完善或未实现,必须添加“TODO”
  • 超过100行复杂功能实现,必须有注释,可分逻辑标注

(三)HTML规范(Vue Template同样适用)

  • 使用h5的语义化标签
  • 标签中必须使用双引号,而不是单引号
  • 自定义标签使用大驼峰标签,尽量使用单标签

(四)CSS规范

1. 属性书写顺序

尽量使用缩写属性,并且能省略的尽量省略,提高代码可读性及编译高效性
属性类型 例证 优先级
位置属性 position, top, right, z-index, display, float等 ☆☆☆☆☆
大小 width, height, padding, margin ☆☆☆☆
文字系列 font, line-height, letter-spacing, color- text-align等 ☆☆☆
背景 background, border等 ☆☆
其他 animation, transition等

2. 类选择器命名

  • 使用中横线来连接长名称,而不是使用“_”下划线来连接
  • 命名可使用“模块-功能-附加(如:状态等)”来命名

(五)LESS规范

  • 避免嵌套过多
  • 多使用循环等逻辑语句
  • 注意和css中部分函数的区别,如:rgb

(六)Sass/Scss规范

  • 避免嵌套过多
  • 多使用mixin进行相关的组合

(七)JavaScript规范

  • eslint的standard规范
  • es6+规范
  • vscode可使用prettier插件

(八)TypeScript规范

  • tslint的standard规范
  • 避免any的使用
  • 多使用泛型、interface、type等js不常见的功能
  • 使用DDD(领域驱动设计)的模式进行相关设计

二、React项目规范

  • 符合各自项目使用模板方案规范,如:antd pro、ice等
  • React 版本>= 16.8,使用 React Hooks 进行现代化前端开发
  • 注意符合tsx或jsx语法

三、Vue项目规范

  • 符合各自项目使用模板方案规范,如:vue cli、vue-element-admin等
  • 使用符合vue开发的模式,vue2使用option API,vue3使用composition API
  • vue3多使用自定义hook进行功能开发,建议使用类组件模式开发,更贴合的jsx或者tsx
相关文章
|
Web App开发 前端开发 JavaScript
|
缓存 JavaScript 前端开发
|
前端开发 JavaScript Java
网易前端JavaScript编码规范
在多年开发邮箱webmail过程中,网易邮箱前端团队积累了不少心得体会,我们开发了很多基础js库,实现了大量前端效果组件,开发了成熟的opoa框架以及api组件,在此向大家做一些分享。今天想先和大家聊聊javascript的编码规范。
1226 0
|
1月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
128 2
|
1月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
38 0
|
1月前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
|
1月前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
1月前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
|
1月前
|
前端开发 算法 测试技术
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
本文对比测试了通义千文、文心一言、智谱和讯飞等多个国产大模型在处理基础计数问题上的表现,特别是通过链式推理(COT)提示的效果。结果显示,GPTo1-mini、文心一言3.5和讯飞4.0Ultra在首轮测试中表现优秀,而其他模型在COT提示后也能显著提升正确率,唯有讯飞4.0-Lite表现不佳。测试强调了COT在提升模型逻辑推理能力中的重要性,并指出免费版本中智谱GLM较为可靠。
前端大模型应用笔记(五):大模型基础能力大比拼-计数篇-通义千文 vs 文心一言 vs 智谱 vs 讯飞vsGPT
|
2月前
|
SpringCloudAlibaba JavaScript 前端开发
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架
分布式组件、nacos注册配置中心、openfegin远程调用、网关gateway、ES6脚本语言规范、vue、elementUI
谷粒商城笔记+踩坑(2)——分布式组件、前端基础,nacos+feign+gateway+ES6+vue脚手架