你说的都队——规定代码规范+明确α冲刺目标与计划

你说的都队 2025-10-31 00:12:52
项目内容
这个作业属于哪个课程202501 福大-软件工程实践-w 班
这个作业要求在哪里站立式会议+α 冲刺
这个作业的目标规定代码规范+明确α冲刺目标+冲刺计划

目录

  • 1.代码规范
  • 1.1 后端代码规范
  • 1.2 前端代码规范
  • 2.冲刺任务与计划
  • 2.1 冲刺任务
  • 2.2 冲刺计划
  • 2.3 分工计划

1.代码规范

1.1 后端代码规范

1.1.1 导入规范

规则lint 别名说明
导入顺序gci / goimports标准库 → 第三方库 → 本项目模块(github.com/west2-online
禁止别名滥用importas不得随意起别名,需与配置一致
禁止未使用导入unused / goimportsCI 直接报错

示例:

import (
    "context"
    "time"

    "github.com/gin-gonic/gin"

    "github.com/west2-online/domtok/internal/pkg/errno"
)

1.1.2 错误处理

规则别名说明
裸返回限制nakedret函数体 >31 行时禁止 naked return
错误包装errorlintfmt.Errorf 必须带 %w(Go 1.20+ 允许多个 %w
禁止返 nil 掩盖错误nilerr出现错误时不得返回 nil

1.1.3 命名与拼写

规则别名说明
函数参数必须命名inamedparam禁止匿名参数
非 ASCII 字符asciicheck源码、注释、字符串均不得出现中文字符等
美式拼写misspellcolourcolor

1.1.4 代码风格

规则别名说明
行长lll单字符行宽 ≤160(含 \t 算 1)
魔法数字mnd0,1,42,0666,0755 外必须提常量
嵌套 ifnestif圈复杂度 >6 即报错
简化代码gosimple + gofmt -s自动简化
空行/空格whitespace禁止多余空行或行尾空格

1.1.5 类型与声明

规则别名说明
无用类型转换unconvert删除冗余转换
强制类型断言forcetypeassert必须带 ok 判断
声明顺序decorderconst→var→type→func 分组

1.1.6 切片 & 循环

规则别名说明
切片初始化makezero禁止 make([]T,n)n>0
闭包循环变量copyloopvar1.22 之前需手动赋值,1.22+ 可忽略

1.1.7 结构体标签

tagalign 自动对齐与排序,顺序:
json > yaml/yml > toml > mapstructure > binding > validate
示例:

type User struct {
    ID   int64  `json:"id"   mapstructure:"id"   validate:"required"`
    Name string `json:"name" mapstructure:"name" validate:"required"`
}

1.1.8 静态检查

启用 staticcheck 全规则,仅忽略 SA1019(使用废弃 API)。

1.1.9 自动修复

本地运行以下命令,可自动格式化并修复多数问题:

golangci-lint run --fix ./...

1.1.10 CI 门禁

Pull Request 必须 golangci-lint 0 警告 0 错误方可合并。
查看详细报告:GitHub → Actions → Lint → annotations。

1.2 前端代码规范

1.2.1 导入规范

规则检查工具说明
导入顺序eslint-plugin-import第三方库 → 工具模块 → 组件 → 样式文件
路径别名alias使用配置的路径别名,禁止相对路径跳转
默认导入优先prefer-default-export单个导出必须使用默认导入

1.2.2 代码风格

规则检查工具说明
缩进@umijs/fabric2 个空格缩进
分号semi必须使用分号
引号quotes统一使用单引号,JSX 属性使用双引号
行宽max-len最大 120 字符

1.2.3 React 规范

规则检查工具说明
组件定义react/function-component-definition统一使用箭头函数组件
Props 解构react/destructuring-assignment优先使用解构赋值
Hooks 顺序react-hooks/rules-of-hooks保持 Hooks 调用顺序一致
依赖数组react-hooks/exhaustive-depsuseEffect 依赖项必须完整

1.2.4 命名规范

类型规则示例
组件PascalCaseUserCard
文件kebab-caseuser-card.tsx
变量camelCaseuserList
常量UPPER_SNAKE_CASEAPI_BASE_URL
样式类kebab-case.user-avatar

1.2.5 TypeScript 规范

规则检查工具说明
类型定义@typescript-eslint优先使用 interface 定义对象类型
显式返回类型explicit-function-return-type公共函数必须声明返回类型
禁止 anyno-explicit-any严格限制 any 类型使用

1.2.6 状态管理

规则检查工具说明
不可变更新immer使用 immer 或展开运算符
状态归一化-复杂状态需要归一化处理
Selector 复用reselect使用 createSelector 优化计算

1.2.7 CSS 规范

规则检查工具说明
命名规范stylelintBEM 命名规范
样式顺序stylelint-order定位 → 盒模型 → 文字 → 视觉
禁止魔法值stylelint-declaration-strict-value颜色、尺寸必须使用设计令牌

2.冲刺任务与计划

2.1 冲刺任务

2.1.1 用户与认证模块
*用户注册与登录
*修改邮箱、(重置)密码、专业
*更新 AccessToken
*获取邮箱验证码

2.1.2 课程模块
*搜索课程
*获取课程详情 *获取课程资源列表

2.1.3 资源模块
*搜索资源
*上传、下载课程资源 *获取资源信息

2.1.4 评分与评论模块
*获取课程评论列表
*删除课程评分、评价
*获取资源评论列表
*删除资源评分、评价

2.2 冲刺计划

时间周期核心任务具体分解
​Day 0代码规范与任务规划1. 团队共同制定前端(Vue3)/后端(Java)代码规范
2. 明确 α 冲刺目标功能清单
3. 制定 6 天冲刺计划表
4. 分配成员任务
Day 1-3每日迭代开发1. ​ 晨会 ​(15 分钟):昨日进展演示、阻塞问题同步、当日任务认领
2. ​ 开发 ​:前端页面开发(登录/注册/核心功能界面)后端接口开发(RESTful API+数据库设计)AI 技术员辅助(代码生成/测试用例生成)
3. ​ 测试 ​:单元测试、自动化测试脚本
4. ​ 文档 ​:每日燃尽图更新代码签入记录(Git 提交规范)
Day 4-5自动化测试1. 使用 AI 工具生成测试用例
2. 性能测试
3. 用户验收测试
Day 6成果复盘1. 功能完成度核对(计划 vs 实际)
2. 成员工作量统计(代码行数/文档页数)
3. AI 技术员贡献分析(效率提升指标)
4. 答辩 PPT 制作

2.3 分工计划

学号工作内容
102300219 林腾岳技术选型、拆解任务、把控进度、解决复杂问题
102300409 严晨峰基于后端技术栈开发接口与数据库逻辑,保障功能稳定
052301346 郑积超基于后端技术栈开发接口与数据库逻辑,保障功能稳定
102300325 陶斯予设计产品原型,统筹项目进度与各角色协作
102300233 朱奕韬技术选型、拆解任务、把控进度、解决复杂问题
102300226 徐江山基于前端技术栈实现页面开发,保障界面交互流畅
102300218 林柏林基于前端技术栈实现页面开发,保障界面交互流畅
102300033 林嘉乐环境配置、测试用例、执行测试,汇报展示的 PPT
...全文
43 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
FZU_SE_teacherW 教师 11-04 14:32
  • 打赏
  • 举报
回复

分工应更具体,任务要明确责任到人。

112

社区成员

发帖
与我相关
我的任务
社区描述
202501福大-软件工程实践-W班
软件工程团队开发结对编程 高校 福建省·福州市
社区管理员
  • 202501福大-软件工程实践-W班
  • 离离原上羊羊吃大草
  • MiraiZz2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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