|
|
|
@ -1,20 +1,73 @@
|
|
|
|
|
# 小米便签
|
|
|
|
|
1.维护至Android11(当前手机版本)
|
|
|
|
|
2.java语言,基于安卓开发
|
|
|
|
|
3.查找网上相关文档
|
|
|
|
|
|
|
|
|
|
## 任务
|
|
|
|
|
阅读开源软件(小米便签),掌握开源软件的框架,对开源代码进行标注即注释,撰写开源代码泛读报告和代码质量分析报告。
|
|
|
|
|
作业质量要求
|
|
|
|
|
确保所绘制的UML图(如用例图、类图)的准确性和完整性
|
|
|
|
|
确保泛读报告和分析报告的准确性和质量
|
|
|
|
|
作业组织方式
|
|
|
|
|
以分组方式进行,2~3人一个小组,创建针对本作业的项目和软件版本库,在版本库中建立“src”和“doc”两个文件夹,分别存储软件系统的源代码和报告文档
|
|
|
|
|
建立master、develop以及成员分支(a_branch),将当前版本存入master目录下
|
|
|
|
|
作业提交成果 根据附件中的报告完成:
|
|
|
|
|
泛读报告
|
|
|
|
|
代码注释
|
|
|
|
|
质量分析报告
|
|
|
|
|
|
|
|
|
|
分组要求:2 ~ 3人 (学生提交作品时需要关联同组成员,组内成员作品共享)
|
|
|
|
|
基于项目实施:否(学生必须在本平台创建项目,项目管理员可以提交作品)
|
|
|
|
|
### 一、项目目录结构
|
|
|
|
|
``` mermaid
|
|
|
|
|
graph LR
|
|
|
|
|
A(mi-note-project):::folder --> B(src):::folder
|
|
|
|
|
A --> C(doc):::folder
|
|
|
|
|
B --> B1(java):::folder
|
|
|
|
|
B --> B2(res):::folder
|
|
|
|
|
C --> C1(code-comments):::folder
|
|
|
|
|
C --> C2(reading-report):::folder
|
|
|
|
|
C --> C3(quality-report):::folder
|
|
|
|
|
```
|
|
|
|
|
### 二、分支管理策略
|
|
|
|
|
1. **master分支**:存储稳定版本代码,仅合并经过测试的`develop`分支内容。
|
|
|
|
|
2. **develop分支**:作为日常开发主分支,集成所有成员功能开发分支代码。
|
|
|
|
|
3. **成员分支**:每位成员独立开发、注释代码的分支,命名为`member-name-feature`。
|
|
|
|
|
| 任务类型 | 具体内容 | 交付物 |
|
|
|
|
|
| -------- | -------- | ------ |
|
|
|
|
|
| **代码获取与环境搭建** | 从开源渠道获取小米便签代码,配置Android开发环境(JDK、Android Studio) | 可运行的项目工程 |
|
|
|
|
|
| **代码注释** | 对核心代码模块添加详细注释,说明功能逻辑、参数含义及关键流程 | `src/java/`下带注释的Java文件 |
|
|
|
|
|
| **UML图绘制** | 绘制用例图(用户功能需求)、类图(代码结构),确保准确反映系统架构 | `doc/reading-report/*.uml`文件 |
|
|
|
|
|
| **泛读报告撰写** | 分析系统架构、核心功能模块、技术实现,结合UML图说明设计思路 | `doc/reading-report/report.md` |
|
|
|
|
|
| **质量分析报告** | 从代码规范性、可维护性、性能等维度评估,提出优化建议 | `doc/quality-report/report.md` |
|
|
|
|
|
| **最终整合与提交** | 合并所有分支代码与文档,检查格式规范,提交至平台 | 完整的`mi-note-project`目录 |
|
|
|
|
|
|
|
|
|
|
### 三、项目功能模块概述
|
|
|
|
|
|
|
|
|
|
```mermaid
|
|
|
|
|
graph TD
|
|
|
|
|
A[小米便签功能] --> B[笔记编辑]
|
|
|
|
|
A --> C[待办管理]
|
|
|
|
|
A --> D[主题切换]
|
|
|
|
|
A --> E[提醒设置]
|
|
|
|
|
A --> F[笔记分类]
|
|
|
|
|
B --> B1[富文本编辑]
|
|
|
|
|
B --> B2[Markdown 支持]
|
|
|
|
|
C --> C1[任务添加]
|
|
|
|
|
C --> C2[进度追踪]
|
|
|
|
|
D --> D1[自定义上传]
|
|
|
|
|
D --> D2[自带主题]
|
|
|
|
|
E --> E1[定时提醒]
|
|
|
|
|
E --> E2[重复提醒]
|
|
|
|
|
F --> F1[自定义文件夹分类]
|
|
|
|
|
F --> F2[文件格式分类]
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 四、文档
|
|
|
|
|
|
|
|
|
|
#### 1. **开源代码泛读报告**
|
|
|
|
|
- **项目概述**:功能简介、技术栈、目标用户
|
|
|
|
|
- **系统架构分析**:核心模块划分(如笔记编辑、存储、同步)
|
|
|
|
|
- **UML图说明**:用例图(展示用户操作场景)、类图(类关系与职责)
|
|
|
|
|
- **关键技术实现**:如Android组件(Activity、Service)的使用
|
|
|
|
|
#### 2. **代码质量分析报告**
|
|
|
|
|
- **规范性检查**:代码风格是否符合Google Java Style
|
|
|
|
|
- **可维护性评估**:代码耦合度、注释覆盖率、模块复用性
|
|
|
|
|
- **性能分析**:内存占用、响应速度、资源加载效率
|
|
|
|
|
- **稳定性**:异常处理机制
|
|
|
|
|
- **改进建议**:针对问题提出优化方案
|
|
|
|
|
### 五、协作流程
|
|
|
|
|
- **初始化阶段**:克隆代码至`master`分支,搭建环境后推送到`develop`。
|
|
|
|
|
- **开发阶段**:成员从`develop`拉取分支开发,完成后提交Pull Request至`develop`。
|
|
|
|
|
- **评审阶段**:小组共同审查代码注释与报告,修正问题。
|
|
|
|
|
- **合并与提交**:将`develop`分支合并至`master`,打包`src`和`doc`目录提交作业。
|
|
|
|
|
|
|
|
|
|
### 六、工具使用
|
|
|
|
|
|
|
|
|
|
- **开发工具**:Android studio
|
|
|
|
|
|
|
|
|
|
- **UML图绘制**:EdrawMax矢量绘图软件,Typora渲染mermaid语法
|
|
|
|
|
- **版本管理**:通过Git命令行,GitHub desktop和头歌平台管理分支与提交记录
|
|
|
|
|
|
|
|
|
|