dev-aid/工作规范/编码规范.md
2025-05-06 15:05:26 +08:00

103 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<h1 align="center">
编码规范、代码风格、电脑使用规范
<h3>持续更新中……</h3>
</h1>
### Pascal CasePascal 大驼峰式命名法
例如UserInfo, UserName
### Camel Case小驼峰式命名法
例如userInfo, userName
## 前端
### HTML
- 标签名必须使用小写字母,标签使用要遵循其语义
- 标签属性名必须使用小写字母,属性必须用双引号("")包围,自定义属性以 data- 作为前缀
- bool 类型的属性不需要添加属性值
- class 使用短横线式kebab-case命名单词之间以 '-' 分隔,不允许使用大写字母
- id 必须保证同一个页面内唯一使用小驼峰式命名camelCase
- 如果使用第三方组件库,尽可能二次封装组件库,减少自定义组件的使用。
- 引用的文件名称使用短横线式kebab-case命名静态资源文件一般放在类似 assets/images 的目录中
### CSS / LESS / SCSS
- 类名使用 kebab-case短横线式命名禁止出现大写字母
- 禁止使用 style 行内样式
- 样式推荐使用 TailwindCSS 或 UnoCSS尽可能避免编写和维护大量特定样式
### JavaScript
- 变量名使用小驼峰式命名camelCase
- 函数名使用小驼峰式命名camelCase
- 函数名称一般以动词+名字的形式命名,例如 getUserInfo(), initData(), loadTableData()
- 事件名称一般以名词+handle 的形式命名,例如 editHandle, selectedHandle
- 查询前缀一般添加 get新增前缀一般加 add 或者 create更新前缀一般添加 update 或者 edit删除前缀一般添加 delete 或者 remove
- 文件名使用小驼峰式命名camelCase
### TypeScript
- 使用 PascalCase 为类型、枚举命名
- 使用 camelCase 为属性、变量、函数命名。
- 尽可能使用完整的单词拼写命名
- 共享的类型应该在 types.ts 里定义
- 在一个文件里,类型定义应该出现在顶部
- 使用 undefined不要使用 null
## 服务端
### C# / ASP.NET
- record 名称、结构体名称、类名、公有属性、方法名称、文件名使用 Pascal 式命名
- 接口 第一个字母应为大写 I
- private 和 internal 属性使用小驼峰式命名camelCase或者开头添加 \_
- 方法参数使用小驼峰式命名camelCase命名
- 所有 ApiController 必须返回 ResultDto 类型,并且被 Ok() 函数包裹
- 尽可能使用公司内部 NuGet 包中的方法,减少自定义方法的实现
- 编写 Controller 中的方法,需要尽可能遵守 RESTful 风格,要有默认的 Get Post Put Delete 等方法,
- Program.cs 文件避免出现业务逻辑代码
### 实体类规范
- 字符串类型的属性一定要表上最大长度MaxLength
### API 规范
- 分页接口一定使用按时间或者 id 倒序排列
### Java
- 基本规则:使用可以准确说明变量、字段、类、接口、包等完整的英文描述符;采用大小写混合,提高名字的可读性;采用该领域的术语;尽量少用缩写,但如果一定要使用,当使用公共缩写和习惯缩写等;避免使用相似或者仅在大小写上有区别的名字。
- 包命名:包名一律小写, 少用缩写和长名;采用以下规则:[基本包].[项目名].[模块名].[子模块名]...
- 不得将类直接定义在基本包下,所有项目中的类、接口等都应当定义在各自的项目和模块包中。
- 类或接口命名:类或接口名是个一名词,采用大小写混合的方式,每个单词的首字母大写。尽量使你的类名简洁而富于描述。使用完整单词,避免用缩写词(除非该缩写词被更广泛使用,像 URLHTML)。
- 变量命名: 采用大小写混合的方式,第一个单词的首字母小写,其后单词的首字母大写;变量名不应以下划线或美元符号开头;尽量避免单个字符的变量名,除非是一次性的临时变量。临时变量通常被取名为 ijkm 和 n它们一般用于整型cde它们一般用于字符型不采用匈牙利命名法则对不易清楚识别出该变量类型的变量应使用类型名或类型名缩写作其后缀组件或部件变量使用其类型名或类型名缩写作其后缀集合类型变量例如数组和矢量应采用复数命名或使用表示该集合的名词做后缀。
5.常量命名:全部采用大写,单词间用下划线隔开。
6方法命名方法名是一个动词采用大小写混合的方式第一个单词的首字母小写其后单词的首字母大写取值类可使用 get 前缀,设值类可使用 set 前缀,判断类可使用 is(has)前缀。
## 工作目录
磁盘根目录创建 Workspace 目录,目录结构示例:
- docs # 项目文档根目录
- 平安电器物联网平台 # 项目名称
- repos # 项目代码仓库根目录
- pingan-iot # 项目名称
- pingan-iot-api 后端服务项目目录,和 git 服务器上的名称一致
- pingan-iot-admin 管理后台前端项目根目录,和 git 服务器上的名称一致
- smart-venue # 另一个项目名称
- smart-venue-mp # 微信小程序端项目根目录,和 git 服务器上的名称一致
个人以及工作需要用的所有文件都放入 workspace 目录中
## 软件安装目录
- 默认安装 D 盘,保持除去盘符以外的软件默认安装路径
- 不能安装工作使用以外的其他软件
- 所有软件安装包必须在其官方网站下载,不得安装任何来自不明的安装包