0.团队文档、建模、代码规范描述
1、团队文档规范
(1)团队文档命名格式
项目名-班级-团队名
(2)字体规范
字体为等线中文,标题为等线中文二号加粗,段落为等线中文五号。
(3)段落规范
缩进为4个字符,打到良好的可视化效果,行宽适量,不超过100个字符。一个段落的长度不能超过七行,最佳段落长度小于等于四行。
语句合适分行,换行,使文档条理清晰,目的明确。
(4)符号规范
中文语句的标点符号,均应该采取全角符号,这样可以与全角文字保持视觉的一致。
全角中文字符与半角英文字符之间,应有一个半角空格。
全角中文字符与半角阿拉伯数字之间,有没有半角空格都可,但必须保证风格统一,不能两种风格混杂。
2、建模规范
(1)可读性强,建模清晰,方便理解;
(2)建模架构清晰,方便生成代码,提高代码的生成效率。
3、代码规范描述
一、编程规约
(一)命名风格
1.代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束
2.代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式
3.类名使用UpperCamelCase风格
4.方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式
5.抽象类命名使用Abstract或Base开头;测试类命名以它要测试的类的名称开始,以Test结尾
6.类型与中括号紧挨相连来表示数组
7.避免在子父类成员变量之间、或者不同代码块的局部变量之间采用完全相同的命名,使可读性降低。
8.杜绝完全不规范的缩写,避免望文不知义
9.为了达到代码自解释的目标,任何自定义编程元素在命名时,使用尽量完整的单词组合来表达其意
(二)常量定义
1.不允许任何魔法值(即未经预先定义的常量)直接出现在代码中
2.在long或者Long赋值时,数值后使用大写的L,不能是小写的l,小写容易跟数字1混淆,造成误解
(三)代码格式
1.如果是大括号内为空,则简洁地写成{}即可,大括号中间无需换行和空格;如果是非空代码块则:
1)左大括号前不换行
2)左大括号后换行
3)右大括号前换行
4)右大括号后还有else等代码则不换行;表示终止的右大括号后必须换行
2.任何二目、三目运算符的左右两边都需要加一个空格
3.采用4个空格缩进,禁止使用tab字符
4.方法参数在定义和传入时,多个参数逗号后边必须加空格
5.单个方法的总行数不超过80行
6.不同逻辑、不同语义、不同业务的代码之间插入一个空行分隔开来以提升可读性
(四)集合处理
1.集合初始化时,指定集合初始值大小
2.利用Set元素唯一的特性,可以快速对一个集合进行去重操作,避免使用List的contains方法进行遍历、对比、去重操作
(五)控制语句
1.在一个switch块内,每个case要么通过continue/break/return等来终止,要么注释说明程序继续执行到哪一个case为止;在一个switch块内,都必须包含一个default语句并且放在最后,即使它什么代码也没有
2.在if/else/for/while/do语句中必须使用大括号
3.不要在其他表达式(尤其是条件表达式)中,插入赋值语句
4.避免采用取反逻辑运算符
(六)注释归约
1.方法内部单行注释,使用//注释
2.代码修改的同时,注释也要进行相应的修改,尤其是参数、返回值、异常、核心逻辑等的修改
(七)其他
1.任何数据结构的构造或初始化,都应指定大小,避免数据结构无限增长吃光内存
2.及时清理不在使用的代码段或配置信息
二、异常日志
1、异常不要用来做流程控制,条件控制
2.catch是请分清稳定代码和非稳定代码,稳定代码指的是无论如何不会出错的代码。对于非稳定代码catch尽可能进行区分异常类型,再做对应的异常处理
3.捕获异常是为了处理它,不要捕获了却什么都不处理而抛弃之。处理异常,将其转化为用户可以理解的内容
三、单元测试
1.保持单元测试的独立性。为了保证单元测试稳定可靠且便于维护,单元测试用例之间决不能互相调用,也不能依赖执行的先后次序
2.核心业务、核心应用、核心模块的增量代码确保单元测试通过
3.单元测试的基本目标:语句覆盖率达到70%;核心模块的语句覆盖率和分支覆盖率都要达到100%
四、设计规约
1.在需求分析阶段,如果与系统交互的User超过一类并且相关的UserCase超过5个,使用用例图来表达更加清晰的结构化需求
2.如果某个业务对象的状态超过3个,使用状态图来表达并且明确状态变化的各个触发条件
4.系统总体规范
(1)遵顼系统开发标准、规范
在系统设计阶段制定了一系列标准,包括系统服务间调用的协议标准和规范、变量方法命名的标准和规范、日志和监控的标准和规范、开发环境和中间件版本的标准和规范等。在这里我们使用了驼峰命名法、主流系统开发库(MySQL 5.7等)、HTTP服务请求等原则进行系统的设计。
(2)重视系统架构的可扩展性和可维护性
本系统面向图书馆单机服务实体开发,适合中小型图书馆使用。为了更好的适应图书管理领域的发展,及时的更新系统功能,小组十分的重视开发框架的可扩展性和可维护性。小组以Springboot框架为基础,进行本系统的设计。
(3)进行系统功能创新
小组认为图书管理领域作为当今发展迅速的科技领域,其需要的管理系统不再仅仅承担信息管理等服务,而是将用户操作、信息检索、图书系统信息管理等服务融合,提供面向用户和面向管理的双重服务。因此,小组将对图书搜索功能进行创新,通过改进数据结构、数据输出样式等,进行用户可视化层面的创新,尽全力为用户提供更便捷的解译服务。
1.任务分解
序号 |
工作项 |
负责人 |
计划工时 |
实际工时 |
备注 |
1 |
任务分解 |
2h |
3h |
||
2 |
概述 |
3h |
4h |
||
2.1 |
题目 |
30min |
1h |
||
2.2 |
背景 |
30min |
30min |
||
2.3 |
目标 |
1h |
1h |
||
2.4 |
关键指标 |
2h |
1h |
||
2.5 |
核心技术 |
20min |
15min |
||
2.6 |
软硬件环境 |
20min |
15min |
||
3 |
可行性分析 |
2h |
2.5h |
||
3.1 |
技术可行性 |
20min |
30min |
||
3.2 |
操作可行性 |
20min |
30min |
||
3.3 |
经济可行性 |
20min |
30min |
||
3.4 |
国内现状分析 |
20min |
30min |
||
3.5 |
国外现状分析 |
20min |
30min |
||