Pair Programming 2
学生-社团匹配程序
项目流程:
1. 分析讨论
2. 分工合作
3. 代码规范
4. 编码实现
5. 模块结合
6. 测试修改
7. 数据样例
8. 心得体会
9. GitHub链接
结对队友:陈文举 031502109
1.分析讨论
(1)首先分析程序架构
分析结果如图:
(2)了解JSON后对我们编码的影响
JSON是一种数据交换格式,加载对应的6个jar包可以在JAVA上直接使用,所以在数据读入这一块的编码,选择JAVA会方便一些。
2.分工合作
如上图,我们把程序分成了 读写模块和 匹配算法模块
- 读写模块
读写模块需要用到JSON,很基础,算是必须要掌握的知识,但是是一项全新的知识,所以需要学习和接受新事物能力较强的人。 - 匹配算法模块
而匹配算法模块则需要逻辑思维和数学能力较强的人,所以我主动把这一项交给了我的“奖学金蝉联”队友。
3.代码规范
- 因为这次我们采用了分开写模块的方式,最后还要拼合在一起才能完成一个完整的程序,之间肯定存在很多数据交换的联系,所以我们使用了一个叫 "TIM"的软件,它有在线多人编辑文档的功能,我们建立了一个“代码规范”文档,上面写了所有如第2点中提及的交换函数的命名以及对应的接口和返回值。
4.编码实现
由于这次Pair Work是在8天的国庆假期中进行的,所以放假前的游玩计划也都泡汤了,前三四天的确拿去玩了,以致于后期的编码工作中感到时间不够,又恰好队友宿舍多了一个空床位,就直接搬过去,开始了没日没夜的编码工作......
几乎从零开始学JAVA
在前期讨论完决定数据读写模块要用JAVA的时候其实内心已经有预想了,过程肯定是艰难的。在大二下学期期中有开始学习JAVA基础,JAVA对于面向对象的要求更高了,所以一开始学的很吃力,很多东西都理解不来。后来有因为学习数据库,就耽搁了...过了一个暑假几乎也全忘了...所以在开始学JSON之前还去恶补了一下JAVA,参考资料有(链接),还有最强大的即学即用的“百度”。JSON格式、JSONObject、JSONArray
JSON是一种轻量级的数据交换格式,与XML是同行。我学完之后的理解就是,它对于JAVA编码就相当于一样工具,它是JAVA里的一个类,实质上也是字符串,但跟String相比,比String多了处理“{}”、“[]”、“:”、“,”这些字符的能力,从而能方便我们从大量用JSON格式规范的数据里提炼出对象内容。
JSONObject是可实例化的类,如果一段有“{}”包裹着的JSON格式字符串,可以用JSONObject.fromObject("字符串")把字符串实例化成JSONObject对象。
public static void main(String[] args){
String str = "{\"string\":{\"zi\":\"fu\",\"chuan\":\"chuan\"}}";
JSONObject strobj = JSONObject.fromObject(str);
而JSONObject类里提供一个.getString("字符串")方法,可以提炼出“字符串”后的内容。
System.out.println(strobj.getString("string"));
}
输出结果为:
{"zi":"fu","chuan":"chuan"}
而遇到有“[]”包裹着的JSON格式字符串,就可以把“[]”中的内容看做一个数组,用JSONArray.fromObject("字符串")把字符串当作实例存入到JSONArray类里。
5.模块结合
- 实际上,这一步我们还在进行中,由于面向对象的思想还在学习中,很多应该独立出来的算法都没有独立出来,在模块的接口上也有很多没有对接好的地方,在具体的结合后也出现了很多bug,所以还在尽力完成中。
6.测试修改
测试修改目前只有我自己做数据读写模块的样例
7.数据样例
数据样例也只有我自己的
8.心得体会(本次作(aó)业(yè)学到的东西)
之前
在开始之前,有很多畏惧的东西,因为事情的复杂程度会让人心乱,看不到头就会觉得无比的难。来自某位大神的良言,如果觉得事情很难,那才有我们想挑战的动力,我们需要的是把大化小的能力,然后再想一想,并不觉得完成每一小步很难,差的就是开始做了。过程
之后
能用JAVA编码并且喜欢上了JAVA,学会了JSON,顺道知道了XML,结交了良友,多了一段日夜颠倒的奋战经历,离1W行代码又近了一小步,最重要的是知道了自己在这件事情上能花出多大的精力和热情,而且在面对很多人抱怨不喜欢自己所学专业的同时,我能说我并不后悔。
Pair Programming 2的更多相关文章
- Pair programming
Pair programming is an agile software development technique in which two programmers work together a ...
- [tmux] Share a tmux session for pair programming with ssh
By using ssh, you can share a tmux session, making pair programming much easier. We'll learn how to ...
- Crystal Clear Applied: The Seven Properties of Running an Agile Project (转载)
作者Alistair Cockburn, Crystal Clear的7个成功要素,写得挺好. 敏捷方法的关注点,大家可以参考,太激动所以转载了. 原文:http://www.informit.com ...
- iOS项目分析及优化
iOS项目分析及优化 来源:吴白的简书 从代码看一个程序员的笔力 从代码的整洁度上就可以看出一个程序员的实力,规范其实就是让你养成一种良好习惯的标杆,在此面前我们应该顺从.本篇我们以OC为例,统 ...
- 哪些问题是面试官经常问Java工程师的问题 ? --- 转自quora
Which are the frequently asked interview questions for Java Engineers ? Vivek Vermani, www.buggybrea ...
- 招聘.NET开发人员(截止于2015-06-15)
文章更新 2015-06-15 01:00AM: 感谢各位的支持,简历和解决方案接收截止.2015-06-08 08:30AM: 已经收到一些简历和解决方案,正在筛选中.职位仍然开放,欢迎发送简历及解 ...
- 关于分工的思考 (Thoughts on Division of Labor)
Did you ever have the feeling that adding people doesn't help in software development? Did you ever ...
- 《Continuous Integration》读书笔记
Trigger a Build whenever a change occurs. it can help us reduce assumptions on a projecvt by rebuild ...
- 大家是怎么做Code Review的?
先说说我们公司现在的做法,一个团队被人为地分为两个阵营:Senior Developers和Junior Developers,比例差不多是1:1,Senior Developers就担负着对Juni ...
随机推荐
- JavaWeb学习(二十二)———EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- [JSOI2010] 连通数
Description Input 输入数据第一行是图顶点的数量,一个正整数N. 接下来N行,每行N个字符.第i行第j列的1表示顶点i到j有边,0则表示无边. Output 输出一行一个整数,表示该图 ...
- 【手记】解决“未能创建 SSL/TLS 安全通道”异常
之前写了一个桌面程序,程序会间歇性访问某个https接口,一直用的好好的,今天突然报错了,异常就发生在访问接口的地方,曰“请求被中止,未能创建 SSL/TLS 安全通道.”,另外有台电脑也有跑该程序, ...
- Layui上传图片 带接口
layui.use('upload', function () { var upload = layui.upload; upload.render({ elem: '#LAY_avatarUploa ...
- SQLServer删除登录记录用户名和密码
介绍: 作为一名开发人员都会知道我们做的项目都要用到数据库,数据库都需要账号和密码,然而问题来了,做的东西多了那些没用的账号和密码还在哪里纠缠着我们.所有我们不能忍了删除掉他. 网上很多都是2008的 ...
- Java框架之Struts2(二)
一.Action 配置说明 //请求的直接转发 <package name="packageUser" namespace="" extends=&quo ...
- 算法第四版-文字版-下载地址-Robert Sedgewick
下载地址:https://download.csdn.net/download/moshenglv/10777447 算法第四版,文字版,可复制,方便copy代码 目录: 第1章 基 础 ...... ...
- html页面边框的简单设置方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- windows使用笔记-google-chrome下载地址
我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! google-chrome下载地址:https://www.google.cn/intl/zh-CN/chrome/
- Breeze 部署 Kubernetes 1.12.1高可用集群
今天看文章介绍了一个开源部署 K8S 的工具,有空研究下~ Github 地址: https://github.com/wise2c-devops/breeze