结对编程感想
结对编程收获
拒绝无脑使用VS,从我做起
工欲善其事,必先利其器 ——鲁迅
要说这次项目有什么最大的收获,那应该就是工具的选择。一款好的工具可以让你节省很多时间!
做QT,不要用VS !不要用VS!不要用VS!
VS虽然做了QT包,也有一定的兼容性,但是可视化编程完全是废的啊!!!
对新手太不友好了!!!
一步一步按着教程,“拖入一个PushButton, 然后点右键, 转到槽... ”
可是,妈耶,你跟我说VS根本就不支持这一步???
此处不留爷,自有留爷处 ——孔子
QT最强大的地方在他的一套完整的体系,他有完整的精确到函数参数的的文档,更重要的是,他有一个自己的IDE,叫做QT Creator。
说它强大,强大在哪呢?强大就强大在别人是QT自己造出来的,一个用习惯了VS写C/C++程序的人是很难转变对其他IDE的看法的,因为VS功能太强大了,能满足一个人的所有欲望。
但是QT Creator不同,其绿色的界面就给人一种清新的感觉。
让你可以有无穷的欲望去码代码(画画)...
找到了好工具,就开始干活了。
第一次做UI界面
UI入门容易!入门容易!入门容易!
UI做好不易!做好不易!做好不易!
一开始以为UI不就是画几个界面,再加个几百行代码吗。
结果...还真的就是画几个界面...然后... 怎么写代码呢???
天啊 教程在说什么啊??信号?槽?干嘛的?能吃吗?为什么我明明配置好了点它它不动??
为什么表单还得自己建啊??为什么StackWidget瞎**跑啊??为什么窗口大小调不了啊??
行吧行吧,Google就Google呗。
然后两个人、两台电脑、两个小时、两杯咖啡...
“你知道怎么弄了吗?”
“不知道,你呢?”
“...”
第一次结对编程
终于在下午五点之前解决了技术问题。可以开始码代码了。
(4月4日,星期五,晚上9点)
“饿了吗?”
“还行”
“那继续”
...
(4月4日,星期五,晚上11点)
“(领航员的partner)换一下吧,眼睛有点晕”
“我都没说手酸呢,你眼睛就晕了”
“你能别没事瞎**玩鼠标滚轮不?”
...
(4月5日,星期六,凌晨1点)
“几点了”
“还早,一点”
“行吧,今天到这吧”
...
(4月5日,星期六,中午12点)
“妈耶,还差两个功能”
“没事,慢慢码,反正我觉得你测试过不了...”
...
(4月5日,星期六,下午5点)
“行吧,功能写完了,最后一个功能测试通过”
“(鼾声zzZ)”
...
(4月6日,星期日,下午7点)
“有时间吗?又出BUG了”
“关机睡一觉就好了...”
...
(4月6日,星期日,晚上22点)
“你相信科学吗...”
...
(4月14日,星期六,早上10点)
“有人找我们对接”
“行吧,试试”
...
(4月14日,星期六,下午3点)
“接上了吗”
“凉了啊兄弟...”
...
(4月15日,星期日,晚上9点)
“第二组终于接上了”
“不慌,只有13组了”
...
(4月16日,星期一,凌晨3点)
“你那边还有几组?”
“我这边接了4组”
“嘿嘿,我5组”
...
(4月16日,星期一,凌晨5点)
“你弄完了吗”
“马上,不急...”
“那我先写博客”
(一小时后)
“弄完了吗兄弟...”
“卧槽兄弟你别睡着了吧,还有一个小时就DDL了”
“兄弟回个话啊???”
“兄弟还活着么...”
第一次对接API
为什么没有一个勇士敢在第一时间站出来展示自己的API????????????????
你知道一个Core对接一个ui的平均时间是多久吗??????????????
一开始如果统一的话这个时间可以缩短到原来的1/10!!!
“你们定了API了吗?”
“不存在的...”
“你们为什么不一开始就定API????”
“你们为什么一开始不叫我们定API?????”
“好吧,你们赢了”
本学期第三次通宵
别说了,日常通宵打卡
小小年纪就学会睡觉!
假装总结一下
- 副驾驶(领航员)的作用很大,如果没有活人做副驾驶的话,一只小黄鸭也凑合。
- 如果你是副驾驶(领航员),你最好*********少说几句话,否则司机会各种急刹车,甚至还会来个灵魂漂移你信不信。
- 有标准API要上!没有API制造API也要上!不管你是谁,你只要一开始就定了API,我们就是永远的好朋友!
顺便抄几段很有道理的话
效率相近的两人结对
在我的经验中,效率相近的两人结对通常会比差距较大的效果更好。原因可能是由于开发人员有更多共同点,这等于即时“无代价”的情感沟通,有助于他们增进交流。这点在矩阵中的位置是十分清晰的。本质上,强强联合能够产生更好的化学反应。他们了解并尊重彼此,能够经常交换意见,互相帮助学习。其结果往往是令人满意而且相互受益的互动。当然也会有很多乐趣。
如果我们进一步深入研究,可以发现低级程序员和高级程序员结对时还有不同的特征。
低级程序员结对
据我观察,低级程序员结对与高级程序员结对相比收获更多。这是为什么呢?可能因为低级开发者并不一味坚持主见,他没有强大的自尊心影响,与“正确性”相比,他们更加关心学习。
我也认为存在“新生入学”效应影响。想像你还是个孩子,在学期中全家搬入一个新的城市。如果恰好班上另一个孩子和你一样,也是刚刚加入这个班级,那么你们很可能变成好朋友,因为你们两个处于相同的情况。结对编程同样。如果你们两个都是刚刚接触应用/技术/语言/无论其他什么,你们将会立即产生共鸣。你们想要探索相似的事情,会为解决相同类型的问题而激动不已,通常也会更好地合作。
当两个低级程序员结对,他们的主要目标应该是学习。
高级程序员结对
当两个开发者都是高级程序员,往往有相同的原因导致他们很难良好配对。每个程序员都是不同的,都有不同的主见。经验更多,会有更强的个人主见。而且,当你知道得越多,越有可能自尊心膨胀。当一个人有很强的自尊心时,搭档可能会屈从于一个拙劣的决定,原因可能是没有安全感,或者是因为他“小心行事”,确保他们不会伤害到搭档的自尊心。
更糟糕的是,结对双方都有很强的自尊心。在这种情况下,他们争论(不是辩论)许多问题,整个氛围由于敌意变得紧张。我所见过更糟的情况是,当领航员离开工作站躲避一会。搭档在这时没有给予任何沟通,很显然这时处于负收益阶段。
优秀的高级程序员结对会彼此尊重对方。他们会谈论许多。他们辩论、讨论、做计划。他们以专业的水准在工作,而不是仰仗个人。这才是美妙的事情。这时公司能够从高产出中获得极大的收益。
当两个高级程序员结对,主要的目的就是生产。
当低级程序员遇到高级程序员
把低级程序员和高级程序员融合在一起需要的方法不同。这种配对安排多见于新开发人员加入一家公司或者转入新的开发环境中。对于新人,“低级程序员”可能会分配给一个期望他能够飞速进步的“高级程序员”。如果高级程序员不是合适的人选,或者有错误的预期,事情反而会变糟,会打击低级程序员的士气。