结对编程,快乐你我 #1

项目 内容
这个作业属于哪个课程 2021春季软件工程(罗杰 任健)
这个作业的要求在哪里 结对编程第一次作业
这个作业的GitLab项目地址在哪里 项目地址
参与结对编程的是哪两位 3808 3050

一、结对编程初体验

1.From 3808

被别人看着写代码有点尬

每写完一个方法,可以讲给另一个人听,来确认基本逻辑,可以保证整体不会跑偏,虽然单元测试的时候仍然要de方法的bug,悲

可以一起开脑洞,一起写测试,过程很欢乐,结对编程× 培养感情√

PB YYDS!

2.From 3050

  • 结对编程前需要进行详细的设计,应该时不时留出一些独立思考的时间,让自己的想法成熟再交流才高效(反例:第一次结对编程没想好构思我慌得一,最后收效甚微,甚至一度觉得结对编程只会降低效率)现在感觉最合适的是,首先保证两个人坐在一起不会紧张(x),然后先各自看任务,最好是两个人看一会后坐在一起拿纸笔写写画画定下架构,而不是开始编程之前对着电脑交流。
  • 后面的结对编程大家熟悉起来之后就变得高效了许多,架构的熟悉占一定成分,但我感觉更多的是对队友的熟悉。熟悉之后就能发现,双方都能想到一个人想不到的一些情况,并在编码过程中及时进行反馈,代码质量就有不小的提高。

3.Code with me, YES!

采用Jetbrains的Code with me提升开发效率

Code with me支持同时协作开发,内置语音,快乐你我

当然,Code with me有的时候也会把IDEA的自动补全弄崩(悲,不过仍然不失为结对编程工具的首选√

4.快乐瞬间

某水课上的共同开发瞬间:

Code with me的快乐日常:

二、设计实现思路

1.思路

基础思路是设计节点,并将其连接形成树形结构

对整体功能实现三层抽象:

  • 底层为存储信息的基本实现
  • 中层实现了对文件系统内对象的基础操作,如新增、获取等
  • 高层通过中层获取对象,并对其进行修改实现需求

同时抽象出三个对象DirectoryFilePath

  • Path对象实现对路径规范的检查,增加功能的内聚性,屏蔽路径的复杂性,为文件系统提供获取规范化路径的方法
  • DirectoryFile都属于文件系统内可见的对象,继承Statable基类,每个目录内用一个Map容器来存储其内容,通过引用的层级来体现层级关系

2.脑洞

一些脑洞,当然了,昂神肯定会手下留情的(逃

  • 权限
  • 链接
  • chroot
  • grep
  • find
  • 通配符

三、PSP

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 5 10
· Estimate · 估计这个任务需要多少时间 5 10
Development 开发 490 525
· Analysis · 需求分析 (包括学习新技术) 30 20
· Design Spec · 生成设计文档 30 20
· Design Review · 设计复审 (和同事审核设计文档) 30 20
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 10 5
· Design · 具体设计 30 60
· Coding · 具体编码 180 240
· Code Review · 代码复审 60 60
· Test · 测试(自我测试,修改代码,提交修改) 120 100
Reporting 报告 130 70
· Test Report · 测试报告 60 30
· Size Measurement · 计算工作量 10 10
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 60 30
合计 625 605
原文地址:https://www.cnblogs.com/joeye153/p/14575663.html