烤盐人——团队作业五:代码规范、α冲刺任务与计划

这个作业属于哪个课程 <福州大学2021春软件工程实践S班>
这个作业要求在哪里 <团队作业五——站立式会议+alpha冲刺>
团队名称 烤盐人
这个作业的目标 制定代码规范、任务、计划,准备α冲刺
其他参考文献 vue风格指南、团队开发前端VUE项目代码规范、《阿里巴巴Java开发手册-2020最新嵩山版》

冲刺任务与计划

时间 前端 后端
4.29 项目框架搭建、熟悉开发环境 项目框架搭建、熟悉开发环境
4.30 登陆/注册静态页面、文章详情 登录/注册、文章部分接口
5.1 首页文章列表、后台文章管理 文章列表、文章管理接口
5.2 发布文章页面、个人主页 用户信息接口、完善文章接口
5.3 CSS美化+axios调试、后台用户管理 通知相关接口、点赞/收藏接口
5.4 文章评论、点赞/收藏文章 权限管理
5.5 前后台权限管理 代码测试、优化
5.6 CSS美化、前后端联调 前后端联调
5.7 完整测试、打包发布 完整测试、打包发布

冲刺任务分工

前端

人员 模块
Starlite axios模块封装,辅助前后端通信
hannahShaw 首页文章列表页面、文章搜索
retrospection 框架搭建、后台文章管理页、用户管理页等
Gaoann 前后台登陆注册模块、文章详情页
谷雨yu 文章详情页、后台管理页面

后端

人员 模块
星夜的风 框架搭建、登录/注册模块、权限管理模块、数据安全
郑开心 文章的增删改查、文章附件模块、用户信息修改
羊一 评论、公告的增删改查模块、用户信息查询、防SQL注入
t0p1Crayon 标签、收藏增删改查模块、防XSS攻击

团队代码规范

前端——Vue

规范目的

在团队编码过程中,统一编码风格,命名规范,注释要求,在团队协作中输出可读性强,易维护,风格一致的代码

环境要求

  1. 使用 Visual Studio Code (VS Code) 进行代码编写

SRC目录规范

  1. api目录 (相关全局请求调用配置、axios、jsonp)

  2. assets目录(放置样式和需要使用的图片)

  3. components目录 (基础组件:样式组件等 注意组件分类规范,可以在其下自建文件夹)

  4. router目录 (路由配置)

  5. store目录 (vuex的状态管理)

  6. utils目录 ( js工具类 )

  7. views目录 (vue页面)

HTML / Template 编码规范

  1. Tab缩进,四个空格,层次要求分明
    2.不要省略可选的结束标签(closing tag)(如</li></body>

CSS 编码规范

  1. 类名使用小写字母
  2. id 采用驼峰式命名
  3. 所有声明语句都应当以分号结尾
  4. 避免为 0 值指定单位,例如,用 margin: 0; 代替 margin: 0px;
  5. 声明块的左花括号前添加一个空格
  6. 声明块的右花括号应当单独成行
  7. 每条样式声明应该独占一行
  8. 十六进制值应该全部小写,例如,#f3f6fa

JavaScript 编码规范

  1. 标准变量采用驼峰式命名
  2. 常量全大写,用下划线连接
  3. 变量名不应过短,要能准确完整地描述该变量所表述的事物

组件开发规范

组件模板开发
  1. 尽可能语义化标签,使结构更加信息
  2. 大段功能模块都需要明确中文注释(要求简短明确)
  3. 模板语法中的逻辑尽可能在filters、computed、methods中处理
  4. Tab缩进,四个空格,层次要求分明
  5. 组件名应该始终是多个单词的
  6. 单文件组件的文件名应该要么始终是单词大写开头( PascalCase ),要么始终是横线连接( kebab-case )
  7. 单文件组件应该总是按照 <template><script><style> 的标签顺序**
组件样式开发
  1. 基本上处于scoped 私有域开发

注释规范

TEMPLATE结构内容注释
  1. 大区块之间需要回车换行,且有有单独的中文注释
SCRIPT注释
  1. 尽可能多用单行注释,注释需要与被注释的地方对齐

参考文档

团队开发前端VUE项目代码规范
vue风格指南

后端——Springboot

参考

此代码规范参考《阿里巴巴Java开发手册-2020最新嵩山版》

缩进

每行的缩进标准为4个空格符

变量命名

变量命名采用lowerCamelCase风格,对于常用的一些单词可以适当缩写
例如:wordNum、nowTime、year、i、temp

每行最多字符数

每行最多字符数为120个,超出120个需要换行,换行规则如下:
运算符与下文一起换行
函数参数在逗号后面换行
括号前面不换行

函数最大行数

函数的最大行数为100

函数、类命名

函数的命名规则为lowerCamelCase风格,例如:getName、setName
类的命名规则为UpperCamelCase风格,例如:FileException、User

常量

常量的命名为全英文大写,以下划线分隔单词,例如:MAX_STOCK_COUNT、CPU_COUNT

空行规则

函数、类之间用空行隔开
函数中在函数体比较大的时候可以考虑在函数中添加适当换行
换行一般为一行

注释规则

总述

注释使用中文,仅在必要的地方添加注释,不需要在每一个地方添加注释

类注释

采用javadoc规范,其中必需的为类的描述、作者、类建立时间

函数注释

采用javadoc规范,其中必需的为功能描述、输入参数说明、返回值说明
注:公有方法必需有注释(get、set、toString等常用方法除外),私有方法不一定有注释

函数内部注释

一般为使用//的单行注释,注释的位置在代码的右边或者上方

特殊注释标记

TODO:待办事项,标记事项内容、标记人、标记时间
FIXME:标记这段代码有错误,标记错误说明、标记人、标记时间

操作符前后空格

二目、三目操作符前后均添加一个空格

日期格式

所有的日期均格式化为:"yyyy-MM-dd HH:mm:ss",统一为 GMT

前后端规约

前后端交互的 API,需要明确协议、域名、路径、请求方法、请求内容、状态码、响
应体
前后端数据列表相关的接口返回,如果为空,则返回空数组[]或空集合{}
在翻页场景中,用户输入参数的小于 1,则前端返回第一页参数给后端
后端发现用户输入的参数大于总页数,直接返回最后一页
服务端返回的数据,使用 JSON 格式而非 XML
前后端的时间格式统一为"yyyy-MM-dd HH:mm:ss",统一为 GMT

异常规约

所有需要反馈给前端的异常信息必须写在ExceptionInfo枚举类里
异常信息必须包括异常码和异常说明
使用过程中如果遇到需要返回给前端的异常直接抛出即可
将try中资源关闭的方法放在finally中执行,避免因为异常导致资源无法释放
如果函数可能返回null,需要在注释中说明什么情况下回返回null

单元测试规约

使用Junit5进行单元测试
所有的单元测试必须是全自动的,即必须使用assert判断结果
所有的单元测试必须具有可重复性,不能依赖外部条件
语句覆盖率需达到70%

安全规约

所有来自外部的数据必须进行合法性检验
返回的数据如果有敏感数据,必须处理后再返回
邮件、下单、电话、支付等必须实现防重放机制

其他规则

字符串拼接或者字符串大量改动使用StringBuilder类
使用集合,在初始化时尽可能指定一个初始大小
并发操作中优先考虑是否使用线程池
switch的语句块中必须有default
使用正则表达式需要预编译

posted @ 2021-04-27 22:27  烤盐人  阅读(105)  评论(1编辑  收藏  举报