会议时间:5月10日13:00,主持者:郭骏
下次会议时间:5月12日12:30,主持者:杜博玮
1.新人加入
由于不可抗力,乔玺华同学被强制转会,退出了我们的团队。
而新成员孙旭东同学转入,我们的团队依然是7人。
目前团队成员和所在部门如下:
成员 | 部门 |
---|---|
孙旭东 | 前端 |
张艺璇 | 前端 |
单彦博 | 前端 |
李嘉铖 | 后端 |
胡彬彬 | 后端 |
杜博玮 | 爬虫 |
郭骏 | PM |
是否有同学希望变更部门?现有部门人数分配是否需要变更?新加入者是否有意向部门?
为了维护当前项目的完整性,Beta阶段的所有部署测试都会在dev服务器上进行,同时提供给生产环境的爬虫数目降低到2个。除非出现严重的bug,否则Alpha阶段已发布的版本(v1.0.5)将不做修改,直到Beta阶段发布。
2.项目管理重申
上一阶段,我们的项目管理有许多不足的地方,也有许多制定了但没有完全执行的规则。这次借着新人的加入,对之前的项目管理进行一定的反思和修改,再次重申管理制度。
-
代码风格
-
前端
基于Android Studio进行开发,而AS又使用了IDEA的框架,有Checkstyle插件,但是貌似没有Dart语言的现成的配置(我暂时没搜到),可以研究一下有没有,如果没有,那请在编程时遵循OO课程中Checkstyle的相关规则。
-
后端&爬虫
基于Python进行开发,请引入pylint和pylint-django进行代码风格检查。pylint的代码风格审查非常严格,对文件、类、方法的注释也有要求,请尽力修改代码,成为拥有良好代码风格的程序。如果存在实在无法满足的条件,可以联系PM进行suppress,比如一些变量的使用,但大部分风格都要求强制完成。
-
注释
请一律使用中文注释,除非这样做会导致程序运行报错。代码文件一律使用UTF-8无BOM格式保存。
-
-
目录管理
- 前后端请不要把代码装在目录中,请提出来和README.md放到同一级。
- .gitignore同理,和README.md放到同一级,且要保证代码中不存在无用文件(如缓存文件、数据库迁移文件等)。
- 所有的文档请放在GitHub Wiki中,并建立Wiki目录,设置好对应的跳转链接。GitHub Wiki支持Markdown编写和超链接插入,请将文档内容转移到Wiki中。
- 文档包括但不限于:编译运行指导文档、接口规格文档、错误信息文档、更新日志文档(前端Release时更新)
- README.md中存放的内容:Introduction,How to Start,Wiki Link,这些信息需要能帮助项目无关者在一无所有的环境下配置成功。后端提供的信息需要能够满足持续部署/集成的条件。
-
代码签入
- 所有commit使用中文。英文只是没必要,有时候也不能准确传达意思。
- 无论前端后端,master分支都是不能够直接进行push的,PM在GitHub上也进行了对应的设置,任何成员都无权直接修改master分支。
- 所有代码签入全部使用Pull Request进行。每个Pull Request由修改代码的开发者亲自开启,经过郭骏或单彦博的代码复审后签入。根据Alpha阶段助教的意见,我们需要在Pull Request中体现出有Review的痕迹,可能是多次commit,亦或是一些comment。PR具体使用方式会出技术博客。
- 如果PR是在仓库中进行,每次合并后会删除原有分支,所以请不要一直使用同一个分支。
-
任务管理
- 所有的任务以Issue形式发布。每个Issue至少带有两个标签:bug/enhancement,以及size,分别标记Issue的类别和工作量。非计划阶段,而是后期加入的Issue也需要设置size。
- 如果Issue的任务精确到人,请设置Assignee。
- 如果Issue的任务需要通过签入代码来完成,请将PR与Issue进行绑定。
-
错误处理
- 前端、后端、爬虫务必同一错误处理格式。
- 错误处理的编号和内容有必要使用专门的.py文件存储,而不是写到哪里处理到哪。同部门的人请调用同一份错误处理文件中的信息进行处理。
- 错误处理信息有必要写入Wiki文档,注释中仅建议提及。因为错误信息是给不同部门的开发者看的,写在源代码中没有意义,其他开发者不会看源代码的具体实现。
- 对于认为“不可能”发生的错误也需要处理,例如http参数错误。调试bug的阶段,任何bug都有可能出现,需要将错误信息局部化、最小化,且有明确的信息提示。磨刀不误砍柴工。
Beta阶段计划
- 爬虫重构,目前来说吃的内存太多,希望能够和后端整合到同一server,或者只用两台server
- 爬虫监控功能
- 消息公告推送功能(收集问卷等)
- DDL截止推送功能
- iOS适配(额外)
- 校历
- 界面美化
- 意见栏,bug反馈
- 课程评价
- 老师点赞、课程评分、课程评论
- 从课表页面获取课程信息
- 课程查找筛选
- ……
本周任务(5.14日前)
- 对Alpha阶段的代码进行格式重构,目录修改为要求格式,完成代码风格审查和修改,错误处理统一化等。
- 同部门内自主任务分配,开好issue,设置好工作时长。
- 技术博客:前端、后端、爬虫、PM各自产出一篇,例如Flutter和Dart环境的配置可以作为博客(Win+Mac),感觉坑点不少。DDL不在本周,Beta阶段截止前(5.28)完成就行。
- 新人入会:学习好相关技术栈,同部门人提供必要帮助,能避免踩坑就务必指导少踩坑,然后阅读乔玺华留下的代码。5.14日时需要理解代码,进行开发。