• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

老九门–团队作业五——代码规范、冲刺任务与计划

开发技术 开发技术 2周前 (04-29) 8次浏览

团队作业五——代码规范、冲刺任务与计划


这个作业属于哪个课程 2021春软件工程实践S班
这个作业要求在哪里 作业要求
这个作业目标 软工项目的基本实现
其他参考文献 百度、github、CSDN
目录
  • 团队作业五——代码规范、冲刺任务与计划
    • 代码规范
      • 后端代码规范
        • 一、缩进
        • 二、变量命名
        • 三、函数、类命名
        • 四、包命名
        • 五、常量命名
        • 六、各层命名规约
        • 七、每行最多字符数
        • 八、函数最大行数
        • 九、空行规则
        • 十、注释规则
        • 十一、操作符前后空格
        • 十二、单元测试
        • 十三、安全规约
        • 十四、其他规约
      • 前端代码规范
        • 一、组件名为多个单词
        • 二、组件数据
        • 三、Prop 定义必要
        • 四、为 v-for 设置键值
        • 五、避免 v-if 和 v-for 用在一起
        • 六、为组件样式设置作用域
        • 七、私有 property 名
        • 八、组件文件强烈推荐
        • 九、单文件组件文件的大小写
        • 十、基础组件名
        • 十一、单例组件名
        • 十二、紧密耦合的组件名
        • 十三、JS/JSX 中的组件名大小写
        • 十四、Prop 名大小写强烈推荐
        • 十五、多个 attribute 的元素
        • 十六、带引号的 attribute 值强烈推荐
        • 十七、组件/实例选项中的空行
    • 本次冲刺任务
    • 本次冲刺计划

代码规范

后端代码规范

后端代码规范参考:阿里巴巴Java开发手册终极版v1.3.0

一、缩进

  • 缩进采用4个空格,禁止使用tab字符。

二、变量命名

  • 代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
  • 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。
  • 成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式。

三、函数、类命名

  • 方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式。
  • 类名使用UpperCamelCase风格,必须遵从驼峰形式,但以下情形例外:(领域模型的相关命名)DO / BO / DTO / VO等。
  • 异常类命名使用 Exception 结尾;测试类命名以它要测试的类的名称开始,以 Test 结尾。

四、包命名

  • 包名必须全小写

五、常量命名

  • 常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。

六、各层命名规约

  • DAO层命名规约(1-7为前缀):

    1. 单条插入:insert
    2. 多条插入:batchInsert
    3. 单条查询:selectOne
    4. 多条查询:selectList
    5. 更新:update
    6. 统计:count
    7. 删除:delete
    8. 根据XXX删改查:后缀byXXX
  • Service层命名规约(1-7为前缀):

    1. 单条插入:add
    2. 多条插入:batchAdd
    3. 单条查询:find
    4. 多条查询:findXXXList
    5. 更新:modify
    6. 统计:sum
    7. 删除:remove
    8. 根据XXX删改查:后缀byXXX

七、每行最多字符数

单行字符数限制不超过120个,超出需要换行,换行时遵循如下原则:

  • 第二行相对第一行缩进 4个空格,从第三行开始,不再继续缩进。
  • 运算符与下文一起换行。
  • 方法调用的点符号与下文一起换行。
  • 在多个参数超长,逗号后进行换行。
  • 在括号前不要换行。

八、函数最大行数

  • 函数的规模尽量限制在100行以内。
    说明:不包括注释和空格行。

九、空行规则

  • 相对独立的程序块之间、变量说明之后必须加空行。
    说明 :
    以下情况应该用空行分开:
    1)函数之间应该用空行分开;
    3)用空行将代码按照逻辑片断划分;

十、注释规则

  • 类、类方法的注释必须使用 Javadoc 规范,使用/**内容*/格式,不得使用// xxx 方式
  • 方法内部单行注释,在被注释语句上方另起一行,使用//注释。方法内部多行注释使用/* */注释,注意与代码对齐。

十一、操作符前后空格

  • 值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符,如“ =”、“ +=”
    “ >=”、“ <=”、“ +”、“ *”、“ %”、“ &&”、“ ||”、“ <<” 、“ ^” 等二元操作符的前后应当加空格。
  • 一元操作符如“ !”、“ ~”、“ ++”、“ –”、“ &”( 地址运算符) 等前后不加空格。
  • 像“[ ]”、“ .”、“ ->” 这类操作符前后不加空格。
  • 左括号和后一个字符之间不出现空格;同样,右括号和前一个字符之间也不出现空格。
  • if/for/while/switch/do等保留字与左右括号之间都必须加空格。
  • 函数名之后不要留空格,紧跟左括号’ ( ‘ ,以与关键字区别。
  • 方法参数在定义和传入时,多个参数逗号后边必须加空格。
  • ‘ , ‘ 之后要留空格。如果’ ; ‘ 不是一行的结束符号 ,其后也要留空格。

十二、单元测试

  • 单元测试应该是全自动执行的,并且非交互式的。测试框架通常是定期执行的,执行过程必须完全自动化才有意义。
    输出结果需要人工检查的测试不是一个好的单元测试。单元测试中不准使用 System.out 来进行人肉验证,必须使用 assert 来验证。
  • 单元测试代码必须写在如下工程目录:src/test/java,不允许写在业务代码目录下。
  • 单元测试的基本目标:语句覆盖率达到 70%;核心模块的语句覆盖率和分支覆盖率都要达到 100%

十三、安全规约

  • 未登录用户除了登录、修改密码的其他请求必须被拦截。
  • 采用预编译防止 SQL 注入,禁止字符串拼接 SQL 访问数据库
  • 用户请求传入的任何参数必须做有效性验证。
  • 表单、AJAX 提交必须执行 CSRF 安全过滤。
  • 对用户敏感数据进行处理。

十四、其他规约

  • 大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;
    如果是非空代码块则:左大括号和右大括号都单独占一行。
  • 日期格式为:yyyy-MM-dd HH:mm:ss
    例:2021-04-23 16:06:20

前端代码规范

前端代码规范参考:Vue.js风格指南

一、组件名为多个单词

组件名应该始终是多个单词的,根组件 App 以及 之类的 Vue 内置组件除外。
这样做可以避免跟现有的以及未来的 HTML 元素相冲突,因为所有的 HTML 元素名称都是单个单词的。

二、组件数据

组件的 data 必须是一个函数。
当在组件中使用 data property 的时候 (除了 new Vue外的任何地方),它的值必须是返回一个对象的函数。

三、Prop 定义必要

Prop 定义应该尽量详细,至少需要指定其类型。

四、为 v-for 设置键值

总是用 key 配合 v-for,以便维护内部组件及其子树的状态。甚至在元素上维护可预测的行为,比如动画中的对象固化 (object constancy),也是一种好的做法。

五、避免 v-if 和 v-for 用在一起

永远不要把 v-if 和 v-for 同时用在同一个元素上。

六、为组件样式设置作用域

对于应用来说,顶级 App 组件和布局组件中的样式可以是全局的,但是其它所有组件都应该是有作用域的。对于组件库,我们应该更倾向于选用基于 class 的策略而不是 scoped attribute。

七、私有 property 名

使用模块作用域保持不允许外部访问的函数的私有性。如果无法做到这一点,就始终为插件、混入等不考虑作为对外公共 API 的自定义私有 property 使用 $_ 前缀。并附带一个命名空间以回避和其它作者的冲突(比如 $yourPluginName)。

八、组件文件强烈推荐

只要有能够拼接文件的构建系统,就把每个组件单独分成文件。

九、单文件组件文件的大小写

单文件组件的文件名应该始终是单词大写开头 (PascalCase)。

十、基础组件名

应用特定样式和约定的基础组件 (也就是展示类的、无逻辑的或无状态的组件) 应该全部以一个特定的前缀开头,比如 Base、App 或 V。

十一、单例组件名

只应该拥有单个活跃实例的组件应该以 The 前缀命名,以示其唯一性。

十二、紧密耦合的组件名

和父组件紧密耦合的子组件应该以父组件名作为前缀命名。

十三、JS/JSX 中的组件名大小写

JS/JSX 中的组件名应该始终是 PascalCase 的

十四、Prop 名大小写强烈推荐

在声明 prop的时候,其命名应该始终使用 camelCase,而在模板和 JSX 中应该始终使用 kebab-case。

十五、多个 attribute 的元素

多个 attribute的元素应该分多行撰写,每个 attribute 一行。
在 JavaScript中,用多行分隔对象的多个 property 是很常见的最佳实践,因为这样更易读。模板和 JSX 值得我们做相同的考虑。

十六、带引号的 attribute 值强烈推荐

非空 HTML attribute值应该始终带引号 (单引号或双引号,选JS里不用的那个)。

十七、组件/实例选项中的空行

当你的组件开始觉得密集或难以阅读时,在多个 property 之间添加空行可以让其变得容易。在一些诸如 Vim 的编辑器里,这样格式化后的选项还能通过键盘被快速导航。

本次冲刺任务

基于之前的系统分析、数据库分析,实现项目的前期冲刺。在本次项目冲刺阶段,在前后端分离的基础上,通过分配前后端不同的任务及工作,每位组员在一定时间内分别完成自己分配到的任务及工作,同时十天时间内,每个成员描述自己从昨天站立式会议到现在的进展、存在的问题、遇到的困难、从现在到明天站立式会议的安排、心得体会项目计划。在5月14号前每位队员完成各自的功能,并且进行一定的整合和测试,从而达到本次项目的基本功能和基本实现。

阶段 时间 任务内容
第一阶段 4.29 前后端分别按照自己的任务进行适当的自我学习,一起规定前后端代码规范,方便之后的开发
第二阶段 4.30~5.2 熟悉框架,编写大体架构,着手前期代码编写中,前端后端进行对应的编程工作
第三阶段 5.3~5.8 着手应用于代码编写中,前端后端进行对应的编程工作,同时对设计不足之处进行反馈和修改。前端需要将各自的页面和主要功能完成,其他人进行自己模块的准备工作
第四阶段 5.9~5.10 “细节”开发。对于前面阶段完成整体的开发,在细节部分做好处理
第五阶段 5.11~5.12 进行单元测试,找出bug并修改。前后端接口连接,代码整合,测试,分别做白黑盒测试同时进行测试,找出bug并修改
第六阶段 5.13~5.14 进行最终完善并进行答辩PPT准备

本次冲刺计划

姓名 计划内容
康伟泽 完成前端关于课程资源的页面
林明昊 完成后端关于学生管理,学科成绩,登录及修改密码,课程通知的部分
宋日荣 完成前端学生管理,登录及修改密码的页面
傅江峰 完成后端课程资源,课程作业的部分
李淇 完成前端课程作业的页面
陈鹏桢 完成后端答疑讨论,课程签到及课程小测的部分
张骁 完成前端课程签到,课程小测的页面
王冠儒 完成前端答疑讨论的页面
黄隽芊 完成随笔及文档,前端部分公共页面的部分内容,学科成绩和课程通知的页面

程序员灯塔
转载请注明原文链接:老九门–团队作业五——代码规范、冲刺任务与计划
喜欢 (0)