我们有一个相当复杂的项目,有100个左右的类,多个自定义元素,等等。我们有一个新的高级程序员谁将在这个项目工作。
我们应该如何处理将高级程序员介绍到项目中的任务?如何确保程序员在修复当前特性时不会破坏其他功能?我见过太多类似的情况。有时,新的but不会立即被注意到--但是几个月后就会出现。
我应该先给程序员一些较小的任务,然后等待他们完成吗?还是有更好的解决方案?
我之所以这么问,是因为我不想成为微管理人员,但我也不想因为我对新程序员的错误方法而产生令人讨厌的bug。
发布于 2014-01-26 20:29:08
我们有一个相当复杂的项目,有100个左右的类,多个自定义元素等。我们有一个新的高级谁将在这个项目工作。
这实际上是一个小项目,除非类已被允许增长到数千行代码。一个由100个类组成的项目应该由一两个开发人员轻松地管理。
我们如何确保在修复当前的功能时,他不会破坏其他功能?
每次更改之后,您都应该运行自动化测试,以确保功能没有中断。然而,我的印象是,你没有这样的测试。在这种情况下,bug几乎是不可避免的,并且随着代码大小的增加,它们将越来越频繁地发生。您可以通过在代码投入生产之前仔细检查代码来减轻这一点。
我已经看到了太多类似的情况,这样的but没有立即被注意到,但有时几个月后。
这是测试不足的结果。编程中的错误是不可避免的。我们所能做的就是减少频率。第一道防线是自动化测试。
我应该先给他一些小任务,然后等他完成吗?
你应该让他和另一个有经验的开发人员一起完成任务。也许他们俩都会学到一些东西。
..。我也不想因为我对新来的人的坏方法而产生讨厌的bug。
自动化测试将在很大程度上防止这种情况发生。每当发现错误时,创建一个失败的测试。然后修复错误,以便测试通过。
发布于 2014-01-26 22:41:08
我认为你可以采取两种方法,一种是给新人一件工作,这样就可以开发出一些孤立的东西(例如,一个新的页面/屏幕),这样开发人员就可以探索当前的项目,并检查过去已经做过的一些事情。在做这件工作的同时,他/她还将开始做出一些与他/她正在做的新工作的设计有关的决定。这可能会导致一些问题和讨论,对于开发人员更好地了解项目和如何完成这些工作非常有用。您也可以对这项工作进行同行评审,或者在任务开始时进行一些配对编程。
另一种方法可以是提供与支持相关的小任务,比如修复小bug。在这种情况下,我同意kevin的观点,自动化可以极大地帮助确保一切都正常。
发布于 2014-01-28 08:58:16
让他在他将要处理的部分系统上运行一个回归测试包。在允许他们对代码进行任何更改之前,我会这样做。
一旦他们对应用程序的工作方式感到满意,就让他们修复bug。同行评审错误修复,以获得一个好的想法,他们的技能集。
他会破坏你的应用程序,但这就是回归和单元测试的目的。如果你没有这些,那就做好准备。
https://softwareengineering.stackexchange.com/questions/225568
复制相似问题