• 《构建之法》第四章、第十七章读书笔记


    第四章

    问题一:结对编程的缺点有哪些?【1】结对编程的方式在企业受欢迎吗?【2】

    1.对于有不同习惯的编程人员,可以在起工作会产生麻烦,甚至矛盾。

    2.有时候,程序员们会对一个问题各执己见(代码风格可能会是引发技术人员口水战的地方),争吵不休,反而产生重大内耗。

    3.两个人在一起工作可能会出现工作精力不能集中的情况。程序员可能会交谈一些与工作无关的事情,反而分散注意力,导致效率比单人更为低下。

    4.结对编程可能让程序员们相互学习得更快。有些时候,学习对方的长外,可能会和程序员们在起滋生不良气氛一样快。比如,合伙应付工作,敷衍项目。

    5.面对新手,有经验的老手可能会觉得非常的烦躁。不合适的沟通会导到团队的不和谐。

    6.新手在面对有经验的老手时会显得非常的紧张和不安,甚至出现害怕焦虑的的精神状态,从而总是出现低级错误,而老手站在他们后面不停地指责他们导致他们更加紧张,出现恶性循环。最终导致项目进展效率低下,并且团队貌合神离。

    7.有经验的人更喜欢单兵作战,找个人来站在他背后看着他可能会让他感到非常的不爽,最终导致编程时受到情绪影响,反而出现反作用。                                                                                        

    当我查第二个问题的资料的时候,出现的最多的是:为什么结对编程并不怎么受欢迎?或者说是在国内结对编程的并不多,并鼓励结对编程。我看了一下,大多数不使用结对编程的原因是与企业利益发生了一定的冲突。结对编程无疑有着一定的优点,那么我们是不是可以将结对编程在大学的学习或者是企业的实习阶段使用呢?我们是否可以在学校期间就结对好,或者组好一个团队,以一个结对或者团队的形式去面试,是否就可以尽可能地提高效率,减少与企业利益的冲突?那么,实习期间是否也可以以这种形式进行呢?

    第十七章

    原文:第十七章405页:

    阿超:恐怕不行,我们要胡萝卜和大棒并用。我们的大棒就是“小强地狱”(Bug Hell)。

    问题一:“小强地狱”的阀值标准是多少?【3】在进入“小强地狱”时手头的工作暂停的话,应该是交由另一个人接手,还是等这个人回来呢?怎么降低这期间的损失呢?

    读第十七章的时候,感觉“小强地狱”这个词听起来挺有意思的,就查了一下。解释如下:开发项目过程中,偶尔会遇到这样的情况:测试人员已经帮你测试出很多的Bug,但你需要制作新的功能,并且,你也更喜欢开发新的功能。这时候怎么办呢。根据优先级,你是一定有道理先做新功能的,因为它的优先级明显高很多。这个时候,你原来的系统会非常多的错误,但你又急于完成新功能,根本不去理会。但那么多优先级低的错误,也是不能容忍的。这个时候,解决方式就是“小强地狱”,我们定义一个百分比,或者一个阀值,如果你的Bug超过这个数量,那么,你将被推入小强地狱,在这个地狱里,你能够做的事情,就是改Bug,而不是制作新功能。等你把这个值降下来了,到达阀值以下,你才可以继续正常的工作。这样下来,错误解决了,你也可以继续你的工作了。

    我的问题就是:“小强地狱”的这个阀值标准是多少呢?目前只查到了这个答案:阀值,如果你不是项目经理,恐怕很难定义。我们可以根据一个影响的大小,或者平时会造成影响的数量(经验,测试人员最清楚了)。至于后面的问题答案一个也没有找到。

    希望老师可以帮我解答问题,如果有哪些偏见和不妥之处希望老师可以批评指教,谢谢老师。

    【1】结对编程的利与弊:https://kb.cnblogs.com/page/58732/

    【2】为什么结对编程并不怎么受欢迎:https://www.oschina.net/news/74669/why-do-pair-programming-is-not-so-popular

    【3】小强地狱(Bug Hell)——优先级和缺陷修改的平衡:https://www.cnblogs.com/fyan888/archive/2007/10/09/bughell.html
      
      

  • 相关阅读:
    gitlab 简介
    gitlab安装配置(Ubuntu18和CentOS7)
    CentOS7 安装 vsftpd 服务
    CentOS7.5 系统最小化安装与初始化配置
    ubuntu1604系统初始化
    关于CGI和FastCGI的理解
    CentOS7安装OpenStack(Rocky版)-09.安装Cinder存储服务组件(控制节点)
    CentOS7安装OpenStack(Rocky版)-08.启动一个虚拟机实例
    CentOS7安装OpenStack(Rocky版)-07.安装horizon服务组件(控制节点dashboard)
    CentOS7安装OpenStack(Rocky版)-06.安装Neutron网络服务(控制节点)
  • 原文地址:https://www.cnblogs.com/2016SE_NENU/p/8666374.html
Copyright © 2020-2023  润新知