问题 1
关于代码复审,复审者是否应该参与编码?若是复审者也参与编码的话,那么不免任务量较多,但若是不参与编码的话,工做分配的彷佛不太均衡。html
咱们的团队项目在M1和M2阶段没有刻意去作Code Review,只有在发现bug后才会由你们一块儿来进行debug。这个过程当中咱们也发现了不严格按照代码规范来写代码会给调试bug带来诸多不便。有时一段代码连当时写代码的人都已经要花好长时间才能从新看懂,更不要说其余人了。git
根据个人了解,一些大公司对Code Review的要求很严。每一个程序员除了写代码,还要对相应的一段Code进行复审。据个人学长说他的代码第一次Code Review的反馈结果中绝大多数都是针对代码注释的,甚至连英文注释中的语法错误都指了出来。听起来很恐怖。程序员
问题2.
关于敏捷开发,敏捷开发的过程彷佛很混乱,它的需求彷佛常常会改变,这样不就是没有设计好就开始写代码?那么不免遇到很大块的代码须要修改。github
咱们在M2阶段的开发中就遇到了这样的问题。以前原定的开发计划,因为学校服务器的缘由而泡汤,只能放弃以前已经作了一半的讨论区开发的工做。编程
可是在开始写代码以前仍是要有一个整体的设计,若是以后有改动,则要对相应的设计进行修改。服务器
问题3
敏捷开发的过程在我看来仅适合一些小型的项目,大型项目中若是想应用的话会搞得一团糟,是否是呢?单元测试
经过询问一些正在实习的同窗、学长,我发现目前的小型创业公司彷佛都采用了敏捷开发的项目,一些大公司其实也把工做分为了一个个相对较小的项目组,每一个项目组或多或少的都会应用到敏捷开发的一些思路。测试
问题4
单元测试要求对一切输入都有正确的输出,不能依赖本身的其余模块的代码,那么这不免会使咱们倾向于把每个模块都设计的很大,从而减小单元测试的压力……该如何避免这种状况?编码
这个问题如今看来彷佛没有什么意义。由于在写代码的时候根本不会考虑到单元测试的问题……因此你们在写代码的时候基本都是按照应有的逻辑来写。作单元测试时也就只能正常作了。debug
问题5
结对编程,仅是指两我的共用一台电脑,一我的写,一我的看吗?两我的进行任务分配,每人完成本身的任务,也是一种互补的编程形式,这算不算结对编程呢?
对于结对编程的定义,书上已经说得很清楚,两我的进行任务分配,只能叫作“协做编程”,结对编程的重点在于两我的同时完成一份code,从而使得代码具备较高的正确率,减小一些没必要要的错误。
产生了一个新问题就是:在团队的开发效率开始变低时,做为PM应如何激励团队成员来保持开发热情?是否应制定一系列的奖惩措施?这个问题在企业中或许很容易解决,可是做为学生,同窗间彷佛很难去强行要求他人。
现在从新去阅读那些文档,我终于明白了,做为一个项目的开发者,你首先要对本身的项目感兴趣,以后才能作出漂亮的、有用的项目。若是本身都感到无聊,那么项目的质量也可想而知。
此外,开发者应该常常与用户进行交流,确切的知道用户须要什么,咱们才能针对用户的需求进行改进。
固然,程序的健壮性更好有切实的保障。
我还从中看到了一句感受颇有意思的话:保持项目的简单性。设计达到完美的时候,不是没法再增长东西了,而是没法再减小东西了。
我以为目前的不少产品都能从这句话中学到不少。