《构建之法》第四章,第十七章所感
第四章
问题一:相对于自己单人独来独往的干,结对编程的好处确实很多,那么,什么样的人更适合结对来编程呢,是不是只要做到代码风格规范,代码设计规范,能够进行同伴复审的人就可以进行结对了?结对编程中的角色互换——驾驶员,领航员一说也是体现了结对编程的好处,目前来看这种模式是否很受欢迎呢,是否存在独自一人编程效率更高的情况?
联系上下文:
在结对编程模式下,一对程序员肩并肩、平等地、互补地进行开发工作。他们并排坐在一台电脑前,面对同一个显示器,使用同一个键盘、同一个鼠标一起工作。
相关资料:
https://www.zhihu.com/question/19832735国内为何很少有人做结对编程呢?
https://www.zhihu.com/question/20188422工程师结对编程能否大幅提高工作效率?
http://developer.51cto.com/art/201508/488727.htm让结对编程更有效的十种方法。
截了一些图。
然后我就觉得吧,结对编程中,如果双方脾气对味,技术观点相近,结对的很愉快的话,对工作或者学习的过程是相当的有利的,首先,一个词,高效率。程序中的错误会少很多,初始质量也会很高,节省后面的很多时间。但是,结对编程中,双方相处的很糟糕的话呢?我个人认为整个编程过程会很是尴尬僵硬,而且思维也得不到完美的发散,没办法彻底的放飞自我(这里不是指毫无章法,而是一种状态,不畏首畏尾,对宏观有把握且对面前的各个细节都有自己的掌握),说白了就是各种别扭,所以,个人认为,两人合作的不同阶段中的解体阶段(另找舞伴)是经常发生的,有时我们无法决定结对的人是谁,必须去接受,这个时候,需要的是人际交往的技巧,需要的也是相互宽容与必须接受的必须磨合阶段,所以,遇到个结对编程很愉快的人,是一份幸运。
让结对编程变得高效起来,充分发挥结对编程的好处,不仅让编程过程变得愉快且不孤独,收获一份共事的友谊与成就感,还能发现并且弥补自己的不足,学习对方的闪光点,即共同影响,共同进步。
第十七章
问题一:17.7萝卜与白菜 中,通过大牛他们的对话引出了“萝卜”和“白菜”两种人的工作情况以及相关评价和争议。萝卜快了不洗泥,白菜慢工出细活,这两类人在团队中的地位该怎么去看,只能去看团队领导者文化吗?哪种类型发展的更快,对自身的能力提高更有好处?
联系上下文
移山公司的项目进行了一段时间,公司的Bug管理系统(例如:TFS)上也积累了不少数据。大栓做了“数据挖掘”。整理出来一些统计信息,向各位领导汇报。
文中的Bug Hell即小强地狱,一开始不太熟悉这个概念,查了之后有些了解。
该博客中也有对小强地狱的解释。https://www.cnblogs.com/fyan888/archive/2007/10/09/bughell.html
下图来自https://weibo.com/p/1001603838020737491225。
在我看来,就应该把“萝卜们”推进小强地狱里去,萝卜快了不洗泥,虽然速度快,但是bug多,这并不是高效率的体现。然而不得不说,“萝卜”型的人看上去更像是大牛,更像是人才,虽然缺陷很明显,但团队中却也需要这样的人,若是能够在小强地狱中得到慢慢的锻炼,或许对团队更加有利吧。
说实话,我更倾向于团队中的“白菜”多,按期完成自己的任务,没多少bug,模块比较稳定,搞定了之后可以稍微帮助别人一下,是为本分负责。
团队的领导者文化决定了团队的风格,如果倾向于“萝卜”,那项目进展不一定会一直顺利下去,而且“萝卜"本人......会相当的辛苦;如果倾向于”白菜“,那项目或许会稳定发展,但也不会说提前什么,整个过程在于一个稳字。萝卜白菜各有所爱,评价却也因人而异,但最重要的果然还是做好自己,完成自己的工作并且在自己能力范围内帮一下队友吧,或许是萝卜,或许是白菜,各有所长各有所缺,呆在一起总会相互发现,相互发展进步。
定义一个百分比,或者一个阀值,如果你的Bug超过这个数量,那么,你将被推入小强地狱,在这个地狱里,你能够做的事情,就是改Bug,而不是制作新功能。等你把这个值降下来了,到达阀值以下,你才可以继续正常的工作。
问题二:IEEE/ACM发布了《软件工程师职业道德规范和标准》,其中包括了有关职业软件工程师的行为和决断的八项准则,然而,现在这个时代,仍然有许许多多的”软件工程师”为了个人利益走上违法犯罪的道路,比如,利用各种漏洞盗取他人钱财,开发游戏外挂,制作流氓软件等。我们该如何看待这一问题?
相关资料:
http://www.sohu.com/a/166552109_468739标题:软件工程师离职后删雇主网站源代码被判刑五年,令人深思。
http://news.hexun.com/2016-10-15/186430830.html标题:软件工程师搞“副业”获刑。
与软件工程师有关的事件可以说是层出不穷了。 究其原因,一是一些人法律意识本身淡薄,没有这方面的意识,导致违法犯罪;二是软件工程师这一职业存在的一些情况。
根据某知名人力公司的调查,在所有行业中,编辑、计算机行业高居跳槽率头两位。在行业外人员看来“无限风光”的计算机行业反而成了“变数最大、最留不住人”的动荡职业。其原因,一方面是软件行业属于近年来蓬勃发展的行业,涌现出大量新企业和新岗位,因而就能容纳更多的人才,企业之间的竞争加快了软件人才的流动;另一方面,“钱少工多”这一说,在一些很体面的公司也是普遍存在的。只有编程人员才能深刻理解这种劳动密集型、核心竞争力弱、可替代性强的工种。
有人说,软件工程师就是在吃青春饭,要为自己步入中年的生活提前做好准备。有人说,软件工程师这一职业风光无限,薪资待遇高,相当吃香。在我看来,一份努力一份回报啊,不去干活谁给你工资?这一行业不缺人才,竞争相当激烈,这里不免有人会钻漏洞,投机取巧赚小钱,认为自己这样也是凭本事赚钱,没有心理负担,搞副业,搞外挂,严重点说就是亵渎了自己的职业道德与素养。
以上就是我阅读之后的提问与思考,感谢你的阅读。