[软工顶级理解组] Alpha阶段团队贡献分评分
评分总表
下述表格适用于前端、后端、爬虫开发者的评分,基础分数为50分,在此基础上进行增减。
类别 | 程度 | 加减分 |
---|---|---|
准时性 | 提前完成 | +0 |
按时完成 | +0 | |
延后完成,迟交时间一天内或未延误进度 | -2 | |
延后完成,迟交时间一天以上或延误进度 | -4 | |
质量 | 质量较高,可读性好,可扩展性好 | +2 |
质量过关或者bug极其微小 | +0 | |
质量较差,有非架构设计上的功能性bug | -2 | |
质量差,且修复较困难,甚至延误项目进度 | -4 | |
Bonus | 协助他人完成因拖延或技术难题而未完成的工作 | +2 |
完成额外的开发任务 | +2 |
PM由于工作性质较为特殊,所以不参与以上打分。PM若在实际开发阶段中参与了开发,则可适用Bonus相关的规则。PM的分数将由剩下的所有同学,在团队项目验收结束后进行统一打分。打分模板如下。如果该模板不够详细,可进行进一步细化。
评价 | 分数 |
---|---|
非常尽职尽责,积极性强 | +4 |
较为尽职尽责,比预想的好一点 | +2 |
一般,只是做了该做的事情 | 0 |
不太尽职尽责,对日期和任务不敏感 | -2 |
非常不尽职尽责,有些PM的本分工作甚至需要开发者来提醒 | -4 |
准时性评分
对于Alpha阶段开始时所开放的issue,大家都有在Alpha阶段结束时较好的完成。不过,在测试这一周,依然出现了不少需要开发的任务,这些任务先前没有分配,会计入“完成额外的开发任务”的bonus中。
因此,在准时性方面,大家都没有扣分。
质量评分
所有的额外开发任务和Bug都有issue进行记录,对issue进行量化评分。统计4月23日~5月4日之间的issue。
issue类别 | issue内容 | 负责人 | 备注 |
---|---|---|---|
设计bug | 爬虫:无法分析两个老师共用同一节数的课表信息 #84 | 杜博玮 | |
沟通bug | 消息队列:修正格式 #86 | 李嘉铖、杜博玮 | |
设计bug | 后端:ddl上出现未知错误,返回时间为空 #88 | 胡彬彬 | 存在截止日期为空的情况 |
设计bug | 后端:成绩查询成绩不全 #89 | 李嘉铖 | |
设计bug | 爬虫:消息队列进程无法正常处理 #92 | 杜博玮 | |
沟通bug | 后端:user_login报错 #94 | 胡彬彬、杜博玮 | 爬虫修改错误返回值后沟通不及时 |
设计bug | 后端/爬虫:课表重复课程 #95 | 杜博玮 | |
设计bug | 后端/爬虫:课表没有13、14节课的信息 #97 | 杜博玮 | |
设计bug | 爬虫:课表格式分析再度出错 #98 | 杜博玮 | |
设计bug | 爬虫:Try-catch覆盖不全,对于课程中心的形式无法正确处理 #103 | 杜博玮 | |
设计bug | 后端:两级制GPA计算 #131 | 李嘉铖 | |
设计bug | 爬虫:部署在后端的Chrome没有kill干净 #133 | 杜博玮 | |
设计bug | 爬虫:课程中心页面分析bug #140 | 杜博玮 | 截止日期存在“未显示” |
胡彬彬的代码bug数量最少,并且每次上交之前都会进行测试,整体代码质量在测试阶段表现较好。对于上一阶段做的不够完善的错误处理,在测试阶段也进行了修改,目前的错误处理信息已经较为完善,会给到加分。
李嘉铖的代码bug数量不多,且都是可以原谅,不太影响功能的bug。不过,在写代码时还是存在一定程度的粗心和考虑不周,需要注意。
杜博玮作为爬虫开发,bug数量确实非常多。大部分debug时间都在与爬虫交流,或者说一个bug最终总会定位到爬虫身上。不过这不代表其代码本身的质量比其他开发者差,只是这份工作的特殊性导致bug不断。不过这么多的bug应当也有办法去减少。比如:
- 建立更加完善的错误处理机制,覆盖更全面的try-catch,起码保证不要有chrome没杀掉
- 与后端沟通,最好是每一个字段都有为空串或者null的准备,预防特殊情况
- 做好错误局部化处理,不要因为一个错误导致整个爬虫进程瘫痪(例如issue#140,issue#98)
我认为这些都是爬虫可以做到更好的地方。在Beta阶段,在使用python的requests包进行重构的时候,虽然避免了许多内存上的问题,但在网络方面的问题依然无法忽视。希望爬虫能够做到更好。
issue类别 | issue内容 | 负责人 | 备注 |
---|---|---|---|
设计bug | 按返回键会回到登录界面而不是退出程序 #54 | 乔玺华 | |
设计bug | 空教室查询页面无法下拉 #58 | 乔玺华 | |
设计bug | 登录页面错误处理bug #62 | 张艺璇 | |
设计bug | 主页设置功能在退出程序后重新进入又变成课表 #66 | 张艺璇 | |
设计bug | 成绩查询页面缺少夏季成绩 #98 | 单彦博 |
前端总体来说,bug较少,可能是因为使用了较为成熟的框架和模板,但存在一些疏忽的bug。
相对而言,单彦博出的bug更少,且担任了前端code review的职责,在PM不熟悉前端代码的情况下,充当了一个3人组内的PM角色,所以会把加分给到单彦博。
Bonus评分
下面是额外开发任务的评分参考。完全按照issue数量来定开发加分不太合适,因为每个issue的任务量不同。如果是任务量较少但可归为一类的任务,会统一计算。
开发任务 | 相关issue | 负责人 |
---|---|---|
课表界面美化 | 课表美化 #67 课表显示细节中,对于只有一节课的课程,不应显示n-n节 #87 |
张艺璇 |
人性化改动 | 自定义主页界面增加确定按钮 #57 自定义主页点击确认后应当自动返回 #79 |
乔玺华 |
人性化改动2 | 空教室查询美化 #68 DDL界面增加选项,设置已完成的内容不显示 #93 |
乔玺华 |
版本更新功能 | 版本更新检测功能 #69 | 单彦博 |
安全性改善 | 使用AES算法对传输的“学号”和“姓名”进行加密 #83 | 单彦博 |
开发任务 | 相关issue | 负责人 |
---|---|---|
多爬虫适配 | 后端:user_login支持爬虫的多线程爬取 #107 | 胡彬彬 |
后端:消息队列去重、支持爬虫的改动 #108 | 李嘉铖 | |
爬虫:支持多线程和消息队列交互 #109 | 杜博玮 | |
GPA计算细化 | 后端/爬虫:修改GPA算法以适应五级评分制,爬取课程评价信息 #111 | 李嘉铖、杜博玮 |
版本更新 | 后端:增加版本更新功能适配 #141 | 胡彬彬 |
安全性改善 | 后端:使用AES算法对“密码”和“学号”进行加密 #112 后端:能够处理爬虫发送的DELETE请求,并预先和数据库密码、消息队列进行检查 #114 |
胡彬彬 |
爬虫:修改并统一解密算法 #113 爬虫:遇到“用户名或密码错误”时,告知前端删除该用户信息 #115 |
杜博玮 | |
摒弃Chrome | 爬虫:重构用户登录检查和获取基本信息 #142 | 杜博玮 |
最终评分
折算加权时,前端3人共享150分加权,后端3人共享150分加权。
因为要求不能出现重分,且分数必须为整数,所以如果出现重分,会优先根据代码质量、额外开发issue数量来决定谁的分数更高。
最终分数将等PM分数投票出来后,七人共享350分加权。
姓名 | 准时性 | 质量分 | Bonus | 总分 |
---|---|---|---|---|
乔玺华 | 0 | 0 | 4 | 54 |
张艺璇 | 0 | 0 | 2 | 52 |
单彦博 | 0 | 2 | 4 | 54 |
李嘉铖 | 0 | 0 | 4 | 54 |
胡彬彬 | 0 | 2 | 6 | 58 |
杜博玮 | 0 | -2 | 8 | 56 |
PM分数投票,加权均分53.33,截图如下: