晴空ClearSky——β冲刺代码规范

晴空ClearSky 2025-11-22 15:50:24
这个作业属于哪个课程2501_CS_SE_FZU
团队名称晴空ClearSky
这个作业要求在哪里团队作业—Beta冲刺-CSDN社区
这个作业的目标β冲刺代码规范
其他参考文献《构建之法 现代软件工程》第三版 邹欣著

目录

  • 前端代码规范
  • 一、编程规约
  • 1. 命名规范
  • 项目命名
  • 目录命名
  • 文件命名
  • 函数命名
  • 变量命名
  • 命名严谨性
  • 2. 注释规范
  • 二、HTML 规范
  • 三、CSS 规范
  • 类名命名
  • 属性书写顺序
  • 其他规范
  • 四、JavaScript 规范
  • 五、TypeScript 规范
  • 六、框架与工程化
  • Vue 项目
  • 后端代码规范
  • 1. 命名规范
  • 1.1 包命名
  • 1.2 类命名
  • 1.3 方法命名
  • 1.4 变量命名
  • 2. 注解使用规范
  • 2.1 Lombok注解
  • 2.2 Spring注解
  • 3. DTO设计规范
  • 3.1 Request DTO
  • 3.2 Response DTO
  • 4. 异常处理规范
  • 4.1 自定义异常
  • 4.2 全局异常处理
  • 5. 文档注释规范
  • 5.1 类注释
  • 5.2 方法注释
  • 5.3 字段注释
  • 6. 日志规范
  • 6.1 日志级别
  • 6.2 日志内容
  • 7. 事务管理规范
  • 7.1 事务边界
  • 8. 安全规范
  • 8.1 认证鉴权
  • 8.2 参数校验
  • 9. API设计规范
  • 9.1 RESTful风格
  • 9.2 统一响应格式
  • 10. 数据库交互规范
  • 10.1 Mapper层
  • 10.2 实体类

前端代码规范

一、编程规约

1. 命名规范

项目命名

  • 全部采用小写方式,以中线分隔
  • 示例:my-project-name

目录命名

  • 全部采用小写方式,以中划线分隔
  • 有复数结构时采用复数命名法

文件命名

  • JS、CSS、SCSS、HTML、PNG 文件命名全部采用小写方式,以中划线分隔

函数命名

  • 使用小驼峰命名法camelCase
  • 前缀应为动词
动词含义与返回值
can判断是否可执行某个动作,返回布尔值
has判断是否含有某个值,返回布尔值
is判断是否为某个值,返回布尔值
get获取某个值,返回一个非布尔值
set设置某个值,无返回值或返回是否设置成功
load加载某些数据,无返回值或返回加载完成的结果

变量命名

  • 使用小驼峰命名法
  • 布尔类型使用 is/has 等开头

命名严谨性

  • 代码中的命名严禁使用拼音与英文混合的方式
  • 更不允许直接使用中文

2. 注释规范

  • 大区块分割必须有注释
  • 待完善或未实现的功能,必须添加 // TODO 进行注释
  • 超过 100 行的复杂功能实现,必须有注释

二、HTML 规范

  • 文档类型:推荐使用 HTML5 的文档类型申明:<!DOCTYPE html>
  • 标签语义化:优先使用 HTML5 中新增的语义化标签(如 headerfooter),避免一个页面都是 div 或者 p 标签
  • 引号:标签属性值必须使用双引号(" ") 包围
  • 缩进:使用 2个空格作为一个缩进层级

三、CSS 规范

类名命名

  • 使用中横线(-)连接,例如 .main-title
  • 命名可按"模块-功能-附加(如:状态)"的方式

属性书写顺序

推荐遵循以下顺序,以提高代码可读性和编译效率:

  1. 位置属性position, top, right, z-index, display, float 等)
  2. 盒模型属性width, height, padding, margin
  3. 文字系列font, line-height, letter-spacing, color, text-align 等)
  4. 背景background, border 等)
  5. 其他animation, transition 等)

其他规范

  • 缩写属性:尽量使用缩写属性(如 padding),并且能省略的尽量省略
  • 选择器:避免使用 ID 选择器及全局标签选择器防止污染全局样式
  • 单位省略:当长度为 0 时,省略其单位

四、JavaScript 规范

  • 基本风格:遵循 eslintstandard 规范
  • 语言特性:使用 ES6+ 语法进行开发
  • 变量声明:使用 constlet 声明变量,避免使用 var
  • 代码格式:使用 2 个空格进行缩进,语句末尾推荐使用分号

五、TypeScript 规范

  • 基本风格:遵循 tslintstandard 规范
  • 类型使用避免使用 any
  • 高级特性:多使用泛型接口interface)、类型别名type)等 TypeScript 特性

六、框架与工程化

Vue 项目

  • 组件名为多个单词,避免与 HTML 元素冲突
  • 组件文件名为 PascalCase 格式(大驼峰)
  • Vue 3 项目推荐使用 Composition API,并多使用自定义 Hook

后端代码规范

1. 命名规范

1.1 包命名

全部使用小写字母,采用有意义的英文单词命名
按照业务模块划分包结构,如:com.clearsky.controller, com.clearsky.service, com.clearsky.entity

1.2 类命名

采用大驼峰命名法(UpperCamelCase)
实体类名与数据库表名相对应,如:CommunityPost, PostComment
Controller类以Controller结尾,如:CommunityPostController
Service接口以Service结尾,实现类以ServiceImpl结尾
DTO类按照用途命名,如:CreatePostRequest, PostDetailResponse

1.3 方法命名

采用小驼峰命名法(lowerCamelCase)
Controller方法按照RESTful风格命名,如:createPost, getPostById
Service方法采用业务语义化命名,如:reviewPost, addSchedule

1.4 变量命名

采用小驼峰命名法(lowerCamelCase)
局部变量使用简洁但具有意义的名称
常量使用全大写字母,单词间用下划线分隔,如:MAX_PAGE_SIZE

2. 注解使用规范

2.1 Lombok注解

使用@Data自动生成getter/setter/toString等方法
使用@Accessors(chain = true)支持链式调用
使用@EqualsAndHashCode(callSuper = false)生成equals和hashCode方法

2.2 Spring注解

Controller层使用@RestController注解
Service层使用@Service注解
DAO/Mapper层使用@Mapper注解
依赖注入统一使用@Autowired

3. DTO设计规范

3.1 Request DTO

放置于dto.request包下,按业务模块进一步细分
类名以Request结尾,如:CreatePostRequest
使用@Valid进行参数校验

3.2 Response DTO

放置于dto.response包下,按业务模块进一步细分
类名以Response结尾,如:PostDetailResponse
包含完整的API响应数据结构

4. 异常处理规范

4.1 自定义异常

继承RuntimeException创建自定义业务异常
在exception包中统一管理

4.2 全局异常处理

使用@ControllerAdvice和@ExceptionHandler实现全局异常处理
统一返回格式遵循Result类结构

5. 文档注释规范

5.1 类注释

每个公共类都需要添加类注释,说明类的作用和用途
使用标准JavaDoc格式

5.2 方法注释

Controller层方法需要详细说明:
接口描述
请求参数说明
返回值说明
认证要求
示例请求和响应

5.3 字段注释

DTO类中的重要字段需要添加注释说明含义

6. 日志规范

6.1 日志级别

使用log.info()记录业务流程关键节点
使用log.warn()记录警告信息
使用log.error()记录错误信息

6.2 日志内容

日志信息应包含足够的上下文信息,便于问题定位
敏感信息不应输出到日志中

7. 事务管理规范

7.1 事务边界

在Service层方法上使用@Transactional注解管理事务
明确标注事务的传播行为和隔离级别

8. 安全规范

8.1 认证鉴权

使用JWT Token进行用户身份验证
在Controller方法中通过@RequestHeader("Authorization")获取Token

8.2 参数校验

使用@Valid注解配合Bean Validation进行参数校验
对于复杂业务逻辑,需要在代码中进行二次校验

9. API设计规范

9.1 RESTful风格

URI使用名词复数形式,如:/community/posts
使用标准HTTP动词表示操作类型:
GET:查询资源
POST:创建资源
PUT:更新资源
DELETE:删除资源

9.2 统一响应格式

所有API接口返回统一的Result对象
包含code、message、data、timestamp等字段

10. 数据库交互规范

10.1 Mapper层

使用MyBatis-Plus简化数据库操作
自定义SQL放在XML文件中维护

10.2 实体类

实体类与数据库表一一对应
使用Lombok注解减少样板代码
关联信息使用额外字段而非外键对象直接引用

...全文
103 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
代码下载地址: https://pan.quark.cn/s/581cd7c6c6b7 在信息技术行业,JavaScript(缩写为JS)主要应用于网页的前端交互功能,然而借助特定的技术手段,它同样能够完成与硬件设备例如串口通信的连接。所提及的标题“js接收串口数据,测试过完全可用的,不骗人”明确指出这是一个已经成功实现了JavaScript串口通信的案例,或许是一个规模较小的Web应用程序或网页模型,具备接收和处理串口发送的数据的能力。描述中指出,该应用程序被用于接收GPS数据,这通常关联到物联网(IoT)的应用场景,通过串口将GPS模块所采集的位置信息传递给JavaScript进行后续处理。"mscomm32.ocx"是由微软公司推出的一款ActiveX控件,其主要功能是进行串行通信,这表明这个解决方案可能基于ActiveX技术,而ActiveX控件主要在Internet Explorer浏览器中得到广泛支持。由于ActiveX控件存在安全方面的隐患以及现代浏览器对其功能的限制,使用时可能需要在用户计算机系统中进行注册表的编辑操作,以启用该控件。这一过程需要用户具备相应的操作权限,并且可能引发一定的安全风险。 在标签中,“js 接收串口数据 真正 可用的代码”进一步证实了这个资源是一个有效的JavaScript代码实现,适用于实际应用,且经过验证可以正常工作。压缩包内的"test.html"文件可能是用来演示如何运用此串口通信功能的测试性网页,用户可以通过打开这个HTML文档来观察和测试代码的执行效果。"说明文档.txt"文件则很可能包含了详细的操作步骤、使用提示或代码说明的文本资料,涵盖了如何设置环境、注册控件以及如何运用JavaScript代码与串口进行...

103

社区成员

发帖
与我相关
我的任务
社区描述
2501_CS_SE_FZU
软件工程 高校
社区管理员
  • FZU_SE_LQF
  • 木村修
  • 心态773
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧