[软工顶级理解组] 0510第18次会议

会议时间: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日时需要理解代码,进行开发。
原文地址:https://www.cnblogs.com/se2020djlj/p/12875562.html