小米便签代码结对精读

一.目的

      代码精读的目标是在学生已经基本掌握软件整体架构的基础上,进一步体会 软件的详细设计、代码规范、实现方法和技巧等。

     精读是指每行都读懂,不看代码脑子里就能勾画出程序的基本结构。

二.精读过程

1.关键用例的顺序图和详细类图

顺序图:

①便签的增删改

②批量删除

③批量移动

④查询便签信息

⑤备份

⑥格式化便签摘要

⑦获取电话号码和便签摘要

⑧登录

⑨同步

详细类图:

①tool

②remote

③exception

2.精读注释及代码质量检查

(1)注释(由于代码过多,我直接上传文档到csdn中,可直接下载):

【免费】小米便签部分代码精读注释资源-CSDN文库

(2)代码规范及质量分析
 

使用SonarQube 9.9.4扫描发现存在428个问题,如下图所示

文件夹

分析情况

net.micode.notes.data

net.micode.notes.gtask.data

net.micode.notes.gtask.remote

net.micode.notes.model

net.micode.notes.tool

net.micode.notes.ui

net.micode.notes.widget

本次扫描之后,发现了主要存在以下问题

  1. 过时的代码,有些代码被弃用,需要更新代码;
  2. 重复使用了一些没有定义的字符串,可读性差,会使重构过程变得复杂且容易出错;
  3. 修饰符(puclic、stactic……)的顺序不符合 Java 语言规范推荐的标准顺序,可读性差;
  4. 抽象类不应该有公共构造函数。抽象类的构造函数只能在其子类的构造函数中调用,因此将其设置为公共的没有意义,使用受保护的修饰符应该足够了;
  5. 认知复杂度较高,应当让一个方法尽量完成一个单一功能;
  6. 有的程序段可以合并;
  7. 帕斯卡命名法已被淘汰,使用驼峰命名法;
  8. Java 使用尖括号(< 和 >)为泛型类型提供特定的类型(“类型参数”),来减少某些情况下代码的冗长,如果编译器能够推断出类型参数,则尖括号之间的类型参数应省略。

三、实践心得

       小项目行动方便,而大的项目往往结对效率更高。代码的精读,精读过程可是被这些代码搞得心烦意乱,因为是刚开始学习android移动应用开发,所以过程有点艰难。但没有忘记如何想尽办法提高工作效率。借助ai帮助解读。当然不是完全依赖于ai,只是在一些极其难读懂的部分求助于ai。如此而来,ai就成了我们的伙伴,似乎变成1+1+1了,合作效率更高了。
       并且通过上一次泛读的结对,我和队友的默契度提高了,分工合作也变得得心应手了。所以这次代码精读,我们更加的了解了对方的长处优点,如我擅长画图与word排版,队友擅长代码的审查理解。通过精确分配任务,整个精读的过程十分顺畅,效率也十分高。所以结合长处优点进行分工,也是大大提高合作效率的关键。

  • 41
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值