• [软工顶级理解组] 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日时需要理解代码,进行开发。
  • 相关阅读:
    Nginx模块fastcgi_cache的几个注意点 转
    CGI与FastCGI 转
    APUE--UNIX环境编程
    与 在记事本中的内容表现方式 原创
    Linux 内核使用的 GNU C 扩展
    GCC内嵌汇编
    linux下64位汇编的系统调用系列
    查看源码Vim+Cscope
    GCC 编绎选项 转
    Linux系统启动流程 图解
  • 原文地址:https://www.cnblogs.com/se2020djlj/p/12875562.html
Copyright © 2020-2023  润新知