1.结对项目的案例和论文
学术界、工业界对结对编程已经有不少研究,请阅读至少两篇相关论文或论文,结合自己的切身体会总结一下。

我谈一下我对结对编程的体会的体会,在结对编程中可以充分的提高效率,减少代码的出错率,因为如果是一个人来写代码的话有可能发现不良自己的某些错误,但是如果有另一个人扎起身边的话就不一样了,能很快的找出错误从而避免之后的大修改,在结对编程中还可以互相学习,一个人的知识面是有限的,两个人的话可以分享自己的所学的知识,相互促进相互学习。
  

2.  性格对合作的影响

人和人不一样,在和别人合作的时候,要注意各人表达观点的方式和思考的方式不尽相同。请看网上关于MBTI的文章,测试并分享各自的MBTI类型,讨论不同性格类型对合作有多大的影响, 在合作的各个阶段应该如何应对。
 
①测试并分享各自的MBTI类型
做了测试,我是ENFP类型的性格,这是我的测试报告https://www.apesk.com/mbti/submit_email_date.asp?code=223.73.241.5&user=17487920
不同性格类型对合作有多大的影响如果合作的对象是一个ISTJ类型的人,那么他会更加的理性与实际,我们就需要给他看一些数据性的东西,跟他去分析可靠性之类的这样才更能打动他和促进合作,而碰到另一种ENFP类型的人我们就需要从情感上和实际上两方面进行入手,这样也就更有利于合作如果对一个ISTJ的人只是去跟他谈感情,再加上这个人要是项目的干系人,那合作可能无法进行了;所以我认为对不同的性格人,应该有不同的相处方式,不然会给合作造成很大的影响的
③在合作的各个阶段应该如何应对
对于内向的人开始的时候就应当多主动与其交流,而外向的人则不必有很多的引导,当然两人也需要一个合适话题或是契机,不然再外向的人总是“尬聊”也会受不了吧。

下面是几种类型的性格:

ISTJ
 
安静、严肃,通过全面性和可靠性获得成功。实际,有责任感。决定有逻辑性,并一步步地朝着目标前进,不易分心。喜欢将工作、家庭和生活都安排得井井有条。重视传统和忠诚。
 
ISFJ
 
安静、友好、有责任感和良知。坚定地致力于完成他们的义务。全面、勤勉、精确,忠诚、体贴,留心和记得他们重视的人的小细节,关心他人的感受。努力把工作和家庭环境营造得有序而温馨。
 
INFJ
 
寻求思想、关系、物质等之间的意义和联系。希望了解什么能够激励人,对人有很强的洞察力。有责任心,坚持自己的价值观。对于怎样更好的服务大众有清晰的远景。在对于目标的实现过程中有计划而且果断坚定。
 
INTJ
 
在实现自己的想法和达成自己的目标时有创新的想法和非凡的动力。能很快洞察到外界事物间的规律并形成长期的远景计划。一旦决定做一件事就会开始规划并直到完成为止。多疑、独立,对于自己和他人能力和表现的要求都非常高。
 
ISTP
 
灵活、忍耐力强,是个安静的观察者直到有问题发生,就会马上行动,找到实用的解决方法。分析事物运作的原理,能从大量的信息中很快的找到关键的症结所在。对于原因和结果感兴趣,用逻辑的方式处理问题,重视效率。
 
ISFP
 
安静、友好、敏感、和善。享受当前。喜欢有自己的空间,喜欢能按照自己的时间表工作。对于自己的价值观和自己觉得重要的人非常忠诚,有责任心。不喜欢争论和冲突。不会将自己的观念和价值观强加到别人身上。
 
INFP
 
理想主义,对于自己的价值观和自己觉得重要的人非常忠诚。希望外部的生活和自己内心的价值观是统一的。好奇心重,很快能看到事情的可能性,能成为实现想法的催化剂。寻求理解别人和帮助他们实现潜能。适应力强,灵活,善于接受,除非是有悖于自己的价值观的。
 
INTP
 
对于自己感兴趣的任何事物都寻求找到合理的解释。喜欢理论性的和抽象的事物,热衷于思考而非社交活动。安静、内向、灵活、适应力强。对于自己感兴趣的领域有超凡的集中精力深度解决问题的能力。多疑,有时会有点挑剔,喜欢分析。
 
ESTP
 
灵活、忍耐力强,实际,注重结果。觉得理论和抽象的解释非常无趣。喜欢积极地采取行动解决问题。注重当前,自然不做作,享受和他人在一起的时刻。喜欢物质享受和时尚。学习新事物最有效的方式是通过亲身感受和练习。
 
ESFP
 
外向、友好、接受力强。热爱生活、人类和物质上的享受。喜欢和别人一起将事情做成功。在工作中讲究常识和实用性,并使工作显得有趣。灵活、自然不做作,对于新的任何事物都能很快地适应。学习新事物最有效的方式是和他人一起尝试。
 
ENFP
 
热情洋溢、富有想象力。认为人生有很多的可能性。能很快地将事情和信息联系起来,然后很自信地根据自己的判断解决问题。总是需要得到别人的认可,也总是准备着给与他人赏识和帮助。灵活、自然不做作,有很强的即兴发挥的能力,言语流畅。
 
ENTP
 
反应快、睿智,有激励别人的能力,警觉性强、直言不讳。在解决新的、具有挑战性的问题时机智而有策略。善于找出理论上的可能性,然后再用战略的眼光分析。善于理解别人。不喜欢例行公事,很少会用相同的方法做相同的事情,倾向于一个接一个的发展新的爱好。
 
ESTJ
 
实际、现实主义。果断,一旦下决心就会马上行动。善于将项目和人组织起来将事情完成,并尽可能用最有效率的方法得到结果。注重日常的细节。有一套非常清晰的逻辑标准,有系统性地遵循,并希望他人也同样遵循。在实施计划时强而有力。
 
ESFJ
 
热心肠、有责任心、合作。希望周边的环境温馨而和谐,并为此果断地执行。喜欢和他人一起精确并及时地完成任务。事无巨细都会保持忠诚。能体察到他人在日常生活中的所需并竭尽全力帮助。希望自己和自己的所为能受到他人的认可和赏识。
 
ENFJ
 
热情、为他人着想、易感应、有责任心。非常注重他人的感情、需求和动机。善于发现他人的潜能,并希望能帮助他们实现。能成为个人或群体成长和进步的催化剂。忠诚,对于赞扬和批评都会积极地回应。友善、好社交。在团体中能很好地帮助他人,并有鼓舞他人的领导能力。
 
ENTJ
 
坦诚、果断,有天生的领导能力。能很快看到公司/组织程序和政策中的不合理性和低效能性,发展并实施有效和全面的系统来解决问题。善于做长期的计划和目标的设定。通常见多识广,博览群书,喜欢拓广自己的知识面并将此分享给他人。在陈述自己的想法时非常强而有力。
 
 
3. 是否需要有代码规范
 
- 这些规范都是官僚制度下产生的浪费大家的编程时间、影响人们开发效率, 浪费时间的东西。
- 我是个艺术家,手艺人,我有自己的规范和原则。
- 规范不能强求一律,应该允许很多例外。
- 我擅长制定编码规范,你们听我的就好了。
 
反驳第一条:如果没有规范的话大家的代码都无法被看懂,那如果出了问题而当事人无法解决的时候又该怎么办
反驳第二条:如果每个人都按照自己的规范和原则做事,那我们的团队还能继续一起工作吗
反驳第三条:如果一开始不先定好这个规定,每个人都有自己的“例外”,最后项目进行总和的时候又该怎么办
反驳第四条:每个人都有自己的编码习惯,为什么要让整个团队去适应你呢,仅仅是因为你比较有经验
 
4.代码复审的讨论
 
    首先引用阿超的一段话“首先世界级的软件也会因为小小的纰漏而导致世界级的问题。例如我们常常听到的安全漏洞和紧急补丁。其次,软件的开发是一个社会性的活动, 有它的规律。其中一个规律就是“破窗效应”,如果团队成员看到同伴们连一些细小的规范都不遵守,那自己还要严格执行单元测试么?另一个成员看到这个模块连单元测试都没有,那他自己也随意修改算了。这样下去,整个软件的量可想而知”。
我的看法:我同意阿超所说的,如果只有开发者没有测试者也没有做代码复审,那如果开发一个软件时不发生错误,肯定是最完美的了,一旦发生错误将会是十分毁灭性的灾难,再设计一个场景,如果这个程序是给银行开发的呢?那会不会造成很多的经济损失呢?
 
5.阅读别人的代码有多难?
我们经常抱怨阅读别人的代码很难, 我们自己在写代码的时候,是否考虑到如何让代码更易于阅读和维护呢?
 
总结了三种方法:
  1. 坚持使用一种命名模式
  2. 别缩写英文单词
  3. 别写自认为“聪明”的代码,让别人无法理解

6.结对编程中不好的习惯—你经历过么,如何提醒同伴改进?
不拘小节的人:两人在一起近距离地工作,但是却不注意个人卫生和互相尊重。开始合作前,吃了很多大蒜就来了。
喜欢发号施令的人:总是对敲键盘的人说:“到末行,加个反括号,然后……”。他不去关注解决方法和下一步该怎么做,而过度关注一些编程细节。
拼写纠错者:坐在你旁边,纠正你输入的每个错误字符。当然,他没有时间来真正地进行导航。
深藏不露者:仅仅自己敲着代码而不告诉别人他在做什么。领航员不得不靠自己去弄懂代码。关于该用什么方法,该选择哪种设计,领航员和实施者之间完全没有交流。
跳跃很大的人:他们喜欢在代码中进行大范围的跳跃,这样领航员便不知道进行到哪里了。

 

(1)讲究个人卫生是一个人的基本素质,也是对合作另一方的尊重,如果我的同伴真的这样,首先我会提出一起空旷点的地方工作或者讨论,这样味道可能会稍微淡一点,并且给他口香糖吃。
(2)第一要感谢对方的提醒,因为他确实也是提出了一些问题,说明他很认真,但是也要向他提出,我们首先解决哪些的重要问题,等这些重要的问题解决后再回过头去改他提出的这些问题。
(3)当遇到这样的伙伴时,我觉得第一应该跟他进行沟通,并且向他提出注意一些重要的点,而不是每一个细小的错误。
(4)我认为双方都应该进行改变,多去鼓励他跟大家进行沟通,并跟他提意见写一些注释,旁边的人不懂得时候也要多去问他,不要不懂装懂。
(5)如果碰到这种人以适当让他停下脚步,和他讨论修改或者跳跃的原因。

posted on 2018-05-09 14:48  wzy19  阅读(180)  评论(0编辑  收藏  举报