• 项目Alpha冲刺——代码规范、冲刺任务与计划


    作业要求

    这个作业属于哪个课程 软件工程1916-W(福州大学)
    这个作业要求在哪里 项目Alpha冲刺
    团队名称 基于云的胜利冲锋队
    项目名称 云评:高校学生成绩综合评估及可视化分析平台
    这个作业的目标 团队的代码规范、本次冲刺任务与计划
    其他参考文献 1.邹欣.构建之法[M].3版:人民邮电出版社,2014.

    团队阵容

    队员学号 队员姓名 个人博客地址 备注
    221500201 孙文慈 https://www.cnblogs.com/swc221500201/
    131601207 陈序展 https://www.cnblogs.com/chenxuzhan/
    221600414 冯凯 https://www.cnblogs.com/codingkai/ 队长
    221600415 傅德泉 https://www.cnblogs.com/dqblog/
    221600416 黄海山 https://www.cnblogs.com/hhs-blog/
    221600417 黄乐兴 https://www.cnblogs.com/hlxing/
    221600439 <script> https://www.cnblogs.com/aaaaaaaaaaaaaa/

    任务与计划安排

    天数 任务安排
    第一天 代码规范制定,项目前后端各自基础构建,选定框架、UI库
    第二天 熟悉框架、UI库,编写大体架构,数据库建库建表
    第三天 熟悉框架和库,统一开发流程,后端 PO 模型
    第四天 编写API文档,完成注册页面,编写登录,注册接口
    第五天 完成登录页面,编写教师评分维度管理接口
    第六天 完成新建评分维度页面,编写教师新建班级接口
    第七天 完成教师新建班级页面,编写教师编辑班级接口
    第八天 完成教师编辑班级页面,编写学生及助教加入班级功能接口
    第九天 完成学生及助教加入班级页面,测试接口安全性,校验接口是否完成需求
    第十天 Alpha版本程序的测试与交付

    代码规范

    后端

    代码格式

    • 缩进以4个空格为单位,禁止使用 tab 字符
    • 大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果是非空代码块则:
      • 左大括号前不换行
      • 左大括号后换行
      • 右大括号前换行
      • 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行
    • 尽量避免一行的长度超过80个字符
    • 当一个表达式无法容纳在一行内时,可在一个逗号后面断开或在一个操作符前面断开
    • 新的一行应该与上一行同一级别表达式的开头处对齐
    • 将类似操作,或一组操作放在一起不用空行隔开,而用空行隔开不同组的代码
    • 方法参数在定义和传入时,多个参数逗号后边必须加空格
    • if/for/while/switch/do 等保留字与括号之间都必须加空格

    命名风格

    • 代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束
    • 法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从驼峰形式
    • 常量命名全部大写,单词间用下划线隔开
    • 包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使用单数形式,但是类名如果有复数含义,类名可以使用复数形式
    • 类名每个单词必须由大写字母开头而其他字母都小写的单词组成
    • 任何自定义编程元素在命名时,使用尽量完整的单词组合来表达其意
    • 数组应该用下面的方式来命名
    byte[] buffer;
    
    • 不用数字定义名字
    • 枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开
    • POJO 类中布尔类型的变量,都不要加 is 前缀

    常量定义

    • 不允许任何魔法值(即未经预先定义的常量)直接出现在代码中
    • 如果变量值仅在一个固定范围内变化用 enum 类型来定义

    注释规约

    • 类、类属性、类方法的注释必须使用 Javadoc 规范,使用/**内容*/格式,不得使用// xxx 方式
    • 所有的类都必须添加创建者和创建日期
    • 方法内部单行注释,在被注释语句上方另起一行,使用//注释。方法内部多行注释使用/* */注释,注意与代码对齐
    • 代码修改的同时,注释也要进行相应的修改,尤其是参数、返回值、异常、核心逻辑等的修改

    控制语句

    • 在 if/else/for/while/do 语句中必须使用大括号。即使只有一行代码,避免采用单行的编码方式:if (condition) statements;
    • 避免采用取反逻辑运算符

    领域设计规范

    • 服务类基于业务领域模块划分,划分原则可以与业务表对应
    • 尽量减少表连接,杜绝两个业务领域的表连接
    • 禁止大表连接(超过100w数据)
    • 禁止在SQL语句中使用1=1
    • 禁止批量数据用in关键词分组排序,即在In条件复杂查询语句
    • 更新操作条件必须有索引,通过explain确认执行计划走索引,尽量使用pk主键
    • 查询条件必须走索引
    • 原则上不允许应用使用delete语句,如有需要,必须记log,经过团队评审
    • 实体类与数据库表对应,api接口下的实体与dao层不一致,dao层实体命名为XxxEntity,防止修改内部实体类影响接口稳定性。

    数据库设计规范

    • 禁止删除字段
    • 禁止更新字段名称,类型,减少长度;可以修改增加字段长度或备注
    • 数据库脚本支持提前上线,否则会影响热发布或者灰度发布
    • 每个领域实体表必须有一个领域主键驱动,便于信息查询
    • 查询结果按需读取,防止因字段过大造成数据传输开销
    • SQL命名准确,功能要单一,不能包含多种含义功能,维护会更复杂
    • 命名使用下划线命名,统一小写

    前端

    文件组织结构

    • 所有前端代码、插件、配置文件和资源都放在项目的根目录下
    • 所有外部模块和插件都放在/node_modules目录下
    • 主页icon和index.html放在/public目录下
    • 所有编写的组件、资源文件以及main.js都放在/src目录下
    • 所有静态资源文件放在/src/assets目录下
    • 所有Vue组件放在/src/components目录下
    • README.md放在项目的根目录下,提供项目的配置安装指南

    HTML代码规范

    • 文件名全部使用小写字母,相邻单词之间使用“_"连接
    • 所有标签名必须小写,并且要有正确的关闭标签
    • 相邻标签之间用4个空格缩进
    • 标签名中相邻单词之间用“-”分隔
    • 标签属性名全部小写,value用“”括起来
    • HTML的语言属性统一设置为zh-cn

    CSS代码规范

    • 文件名全部使用小写字母,相邻单词之间使用“_"连接
    • 类选择器和id选择器要合理使用
    • 类名和id名全部使用小写字符,相邻单词之间用“-”分隔
    • 为避免css样式的冗余,尽量将共同的样式提取到同一个选择器中
    • 仅当前组件的style样式使用“scoped”加以范围说明

    JavaScript代码规范

    • 文件名全部使用小写字母,相邻单词之间使用“_"连接

    • 代码段之间使用4个空格缩进,代码段使用{}括起来

    • 变量使用小写字母表示,相邻单词之间使用“-”分隔

    • 变量,表达式之间使用空格分开,常量使用大写字母表示

    • 段注释使用/**/表示

    • 行注释使用//表示

    系统设计和数据库设计问题解答

    团队成员的贡献度如何存储?

    贡献度字段在用户得分表里面存储,每次作业的得分当做一条记录。
    

    作业发布后是否可编辑?

    可以实时编辑并存储。
    

    如何防止学生修改成绩?

    只有拥有班级权限的老师角色才拥有修改成绩的权限。
    

    系统设计书内容欠缺?

    相关内容已增加。
    

    二次评分,比如手误操作如何验证?

    老师可以对学生成绩进行多次修改。
    
  • 相关阅读:
    邂逅明下(巴什博弈+hdu2897)
    抽象接口的过程小结
    线程经常使用操作
    对继承的再次理解
    阿里Java开发手冊之编程规约
    [持续更新]Windows Programming常见Hungarian Notation/Abbreviation大全
    [转]__cdecl与__stdcall
    private继承的作用
    [转]C++中的三种继承public,protected,private
    如何只利用NMAKE+CL+LINK写WIN32程序
  • 原文地址:https://www.cnblogs.com/CodingMaster/p/10765832.html
Copyright © 2020-2023  润新知