项目Alpha冲刺——代码规范、任务及计划
班级:软件工程1916|W
作业:项目Alpha冲刺(团队)
团队名称:Echo
作业目标:规定代码规范,明确冲刺任务与计划
目录
团队博客汇总
队员学号 | 队员姓名 | 个人博客地址 | 备注 |
---|---|---|---|
221600418 | 黄少勇 | http://www.cnblogs.com/huangshaoyong | |
221600420 | 黄种鑫 | http://www.cnblogs.com/huangzhongxin | 队长 |
221600421 | 孔伟民 | http://www.cnblogs.com/kwm42 | |
221600422 | 李东权 | http://www.cnblogs.com/Ldqblogs | |
221600425 | 林弘杰 | http://www.cnblogs.com/lhj20190212 |
代码规范
前端
一、文件组织形式
-
所有项目源代码请放在项目根目录
src
目录下,项目所需最基本的文件包括 入口文件 以及 页面文件入口文件为
app.js
,页面文件建议放置在src/pages
目录下 -
Taro 中普通 JS/TS 文件以小写字母命名,多个单词以下划线连接,例如
util.js
、util_helper.js
-
Taro 组件文件命名遵循 Pascal 命名法
-
Taro 中普通 JS/TS 文件以
.js
或者.ts
作为文件后缀 -
Taro 组件则以
.jsx
或者.tsx
作为文件后缀,当然这不是强制约束,只是作为一个实践的建议,组件文件依然可以以.js
或者.ts
作为文件后缀
二、JavaScript 书写规范
- 使用两个空格进行缩进
- 字符串统一使用单引号
- 关键字后面加空格,函数声明时括号与函数名间加空格
- 属性前面不要加空格
- 遇到分号时空格要后留前不留,逗号后面加空格,始终将逗号置于行末
- 键值对当中冒号与值之间要留空格
- 对于变量和函数名统一使用驼峰命名法
- 不重复声明变量,不定义未使用变量
- 对象定义存值器,一定要对于的定义取值器
- 对象属性转行时注意统一代码风格
- 不定义冗余的函数参数,避免多余的函数上下文绑定,嵌套代码块中禁止再次定义函数
- 类名以大写字母开头,子类构造器一定要调用super,使用this之前确保super已调用
- 同一模块有多个导入时一次性写完,return、throw、continue和break后不再跟代码
- 使用=代替,if/else关键字要与花括号保存在同一行
- 避免使用常量作为条件表达式条件(循环语句除外)
三、组件及JSX书写规范
- 组件以类的形式进行创建,并且当个文件中只能存在当个组件
- 使用两个空格进行缩进,不要混合使用空格与制表符作为缩进
- JSX 属性均使用单引号
- 多个属性,多行书写,每个属性占用一行,标签结束另起一行
- 终始在自闭合标签前面添加一个空格
- 属性名称始终使用驼峰命名法
- 用括号包裹多行 JSX 标签
- 当标签没有子元素时,始终使用自闭合标签
- 事件绑定均以on开头,子组件传入函数时属性名需要以on开头
后端
一、命名规则
- 类名统一使用UpperCamelCase风格,如XmlService
- 方法名,参数名,成员变量,局部变量统一使用lowerCamelCase风格,如inputUserId
- 常量命名全部大写,单词间用下划线隔开,如MAX_STOCK_COUNT
- 抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;测试类
命名以它要测试的类的名称开始,以 Test 结尾 - 类型与中括号紧挨相连来表示数组
- 包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用
单数形式 - Service/DAO 层方法命名规约
1) 获取单个对象的方法用 get 做前缀。
2) 获取多个对象的方法用 list 做前缀,复数形式结尾如:listObjects。
3) 获取统计值的方法用 count 做前缀。
4) 插入的方法用 save/insert 做前缀。
5) 删除的方法用 remove/delete 做前缀。
6) 修改的方法用 update 做前缀。
二、代码风格
- 采用 4 个空格缩进,禁止使用 tab 字符
- if/for/while/switch/do 等保留字与括号之间都必须加空格
- 注释的双斜线与注释内容之间有且仅有一个空格
- 方法参数在定义和传入时,多个参数逗号后边必须加空格
- 所有的覆写方法,必须加@Override 注解
- 所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较
- finally 块必须对资源对象、流对象进行关闭,有异常也要做 try-catch
三、应用分层
图中默认上层依赖于下层,箭头关系表示可直接依赖,如:开放接口层可以依赖于
Web 层,也可以直接依赖于 Service 层,依此类推:
- 开放接口层:可直接封装 Service 方法暴露成 RPC 接口;通过 Web 封装成 http 接口;进行
网关安全控制、流量控制等。 - 终端显示层:各个端的模板渲染并执行显示的层。当前主要是 velocity 渲染,JS 渲染,
JSP 渲染,移动端展示等。 - Web 层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。
- Service 层:相对具体的业务逻辑服务层。
- DAO 层:数据访问层,与底层 MySQL、Oracle、Hbase 等进行数据交互。
alpha冲刺任务
1、物业端冲刺任务:
- 宿舍信息管理。(添加住户信息,删除住户信息,修改住户信息,查询
住户信息) - 员工信息管理。(添加员工信息,删除员工信息,修改员工信息,查询
员工信息) - 水电信息管理。(水电费查询,水电费生成,发送水电提醒)
- 维修信息管理。(查看维修申请,发布维修公告)
- 信息公告管理。(发布公告信息,查询公告信息,修改公告信息,删除
公告信息) - 问卷调查。(问卷生成及发布,查看问卷列表,删除问卷信息,修改问
卷信息)
小程序alpha冲刺任务:
- 登录/绑定学号
- 社区公告
- 便民电话
- 报修申请
- 我的账单
- 我的消息
- 我的工单(报修,投诉记录)
alpha冲刺计划
小程序
- 完成整体框架搭建
- 完成登录及绑定模块
- 完成公告模块(含最新公告、小区公告、我的消息)
- 完成账单模块(查询、缴费)
- 完成报修、投诉模块(含提交、查询)
- 完成问卷调查模块(查询,提交)
Web端
-
完成整体框架搭建
-
完成登录模块
-
完成宿舍信息管理模块(增删改查)
-
完成员工信息管理模块(增删改查)
-
完成缴费信息管理模块(增加、查询)
-
完成维修、投诉管理模块(查询、修改)
-
完成信息公告模块(查询、发布)
-
完成问卷调查模块(生成,发布,查询)