对结对编程的体会以及近两周编程的总结

    结对编程,对我来说是个很新奇的概念,自李巍老师在课上给我们引入这个全新的概念以后,我一直在思考,为什么结对编程很好,可以提升编程的质量和效率。我在这两周也有很多的编码,我也想同时分享在我的博客里面。

一、关于结对编程

    首先,什么是结对编程呢,根据百度百科的定义,结对编程是指两委程序员坐在同一工作台前开发软件,与两位程序员各自独立工作相比,结对编程能编写出质量更高的代码。

对结对编程的详细理解我觉得可以有以下几点:

(1)合作

    合作从来都不是一件简单的事情,但是合作可以让事情变得更多样化,综合性更强,同样的,每个人分担一定的工作,也是可以大大提升工作效率的。

(2)思考层面

    两个人的思考层面会有所不同,他们可能在技术的提升上不会有很明显的表现,但是他们在不同的抽象层次解决同一个问题会让他们更快的找到解决方案,而且错误更少。

(3)提升团队能力

    开发,永远都是一个团队的事情, 一个人能完成多么好呢?个人的力量,永远是有限的,我们需要锻炼自己的团队合作能力,当我们经常在编程时遇到难题了,大家都会怎么做呢?多半都是上网,寻求大牛的帮助,或者自己研究其他人的代码吧?为何不尝试结对编程?相信你的队友,他会给你带来很多全新的思想。

    我跟我的队友进行了结对编程,我们根据老师的题目,利用XCode,Object-c语言编写了一个小程序,用于出30道四则运算的小程序,我们得到了很好的收获,我在编程的时候,有一些小问题得到了他的纠正,我在某些时候的思路不是很好的时候,我的队友也给了我一个很好的思路。

二、近期编程的技术提升以及总结

    我已经开始我们小组软件工程的最终实现的android端的技术实现,现在已经实现了登录以及注册,截至发文为之,我已经着手在进行主界面的UI设计,我在设计的过程中,跟大家分享一下android初学者的一些心得。

(1)JSON

    大家要设计app,就绕不开后台,而对于前台,就绕不开json,作为轻量级的数据传输工具,json已经开始逐步替代XML,现在无论是android还是ios,各类app,均有json的身影,所以,作为学习android开发的人员来说,json是必学的板块。以下我就加以说明。

    以上,就是两个json使用的很经典的函数,利用的是java自带的json解析方法,JSONObeject方法,通过HttpClient以及HttpGet以及HttpResponse获取并发送url链接,将响应response传入parseJSONWithJSONObject(String jsonData)方法,在这个方法中就要注意了,我犯过一个错误,胡乱定义JSONArray来笼统的接受json中的对象,然而这样笼统的定义就是错误的,你需要看清楚json的内容,到底是JSONObject还是JSONArray(json中,[]就是JSONArray,{}就是JSONObject),然后对应key值的value是什么类型,就要定义成什么类型,比如我的例子中,json中就有一个String类型的msg,我就定义了一个String来接受jsonObjet中的数据。

(2)UI及布局

    我在登录界面中,同时运用了LinearLayout和RelativeLayout,同时两种最常用的布局中的很多属性也是非常巧妙的。我的登录界面部分XML设计如下:

    而我在首页中的部分布局如下:

    可以看到,LinearLayout和RelativeLayout的布局的一些属性的区别,LinearLayout,大家知道,就是线性布局,在界面上的体现就是从左到右,从上到下的进行控件排列,而对于RelativeLayout,相对布局,是android布局中最常用的布局,但掌握难度也是不小的,可以看到我列出的代码中,两种布局的差异,LinearLayout就很简单,就是一些简单的属性,然后设置一下控件的大小,但RelativeLayout中,大家可以看到类似android:layout_marginLeft="15dp",或者android:layout_below:"@id***"这样的属性,这一类的属性就是相对其他某个位置的布局,可以相对其他控件,父布局,上下左右,相距多少长度,都可以进行精密的确定,这也是RelativeLayout的难点。

    最后,我要学习的还有很多,写出来与大家一同成长

原文地址:https://www.cnblogs.com/blog-ghy/p/5308171.html