如何在非常紧凑的时间表上进行编码?


40

我正在做一个进度很紧的项目。我没有太多时间进行编码和测试(即使我每天工作超过12个小时,但仍会延迟),结果非常脆弱。它的代码也很两难。

我们的客户公司在许多国家/地区的所有办事处都使用此程序。我经常在午夜接到有关我们的用户/测试人员的错误或他们不知道如何使用某些功能的电话。

在这个项目上工作了三年之后,我感到非常压力,无法入睡,因为我非常担心错误和电话。

我有几个问题:

  1. 三年来,我编写的所有代码都是完美的使用场景代码(因此很容易破解)。它的设计很差,没有任何单元测试。由于这个事实,我有很多问题。因此,我想知道在项目进度很紧的情况下编写可以运行的代码是否可行?
  2. 如何在相同的时间内编写更好的代码?
  3. 睡觉时我该如何清除内心的烦恼而又不担心工作呢?

9
建议?最明显的一个,你知道的!!!
Aditya P

25
晚上关闭手机。设置限制并坚持下去。这里有两个不同的问题,一个是您的公司不尊重员工也有赖以生存的生命。
Tim Post

34
辞掉工作,换一份新工作。此外,学习如何进行单元测试
mauris 2011年

18
截止日期是管理层的问题。如果最后期限是总是紧张,那么他们需要工作提供更好的估计-不喜欢狗,以满足什么工作,你,他们认为这将需要。
史蒂文·埃弗斯

4
我敢肯定,如果EA游戏雇用了SnOrfus,他会。
Berin Loritsch 2011年

Answers:


30

禁止通话

如果您的用户遍布全球,那么他们肯定不能期望您在凌晨4点钟躺在床上接电话。我将禁止通话,而改用其他可以更好地满足这种情况的通信方式(电子邮件或某些问题跟踪数据库)。但是即使在办公室,也要制定计划的电话无障碍时间表。否则,您在办公室时将无能为力。

这将使您获得宝贵的睡眠和休息。

时间紧

如果这个项目的时间紧迫地安排了三年,那么肯定有人怀疑事情真的没有奏效。也许是时候到了,有人告诉计划人员一些事情,尤其是您的用户/客户和您的经理,这是一个致命的项目。它已经开发了三年,被推迟了,并且充满了错误。在解决许多问题之前,应该对计划进行完全的重新评估,对现有代码进行重构,并且不应开发新功能。

乱序

建立一种开发方法,使您可以预测和承受事情。如果您是开发人员,则在电话打入时不允许您做任何工作。每次中断都需要您15分钟才能返回到上次停止的地方。电话应该关闭。至少在您的办公桌上,因为您是开发人员。如果您可以将电话重定向到在每次通话后都不会打扰您的其他人。

建立某种事件/错误数据库。每天早上,您需要花一些时间上班并确定新事件的优先级(您自己,您的团队或与您的客户/经理一起)。尝试按此优先顺序后缀解决它们,甚至不要想起电话。

如果

如果您无法关闭电话又不能告诉用户他们随时都无法打电话给您,该怎么办?如果您有用户的电话号码,我建议您采取相反的操作:当他们给您打电话时,发出通知并通知他们您将在解决后再给他们打电话。然后在他们睡觉时给他们回电。如果他们告诉您他们正在睡觉,请记住他们的回复,下次在深夜打电话给您时,请使用它。人们通常会更好地理解自己的语言。

如果他们使用办公室电话,而您使用的是手机,那么您就不能在工作时间以外打电话给他们,可以,然后在您离开办公室后开始关闭手机。您已经在那里呆了12个小时,应该下班。如果手机是您的私人手机,那么您的公司应该给您换一台新手机,并且您应该将其告知用户/客户。如果之后他们开始打给您一个私人电话(因为在您的业务上他们无法联系到您,则您要么:

  1. 不要接
  2. 让您的一个朋友回答该错误,告知他们错误的号码,或者该号码的原始用户不再使用它。

最重要的事情

在解决现有问题之前,请勿开发任何新功能。至少是高优先级和中优先级的。


6
不要对用户产生消极的攻击。如果公司不希望您在下班时间接听电话,请不要。值班人员还需要另一个号码。
JeffO 2011年

@Jeff O:我完全同意。但是,由于这种情况已经持续了3年,因此似乎有望在不人道的时间接听电话。
罗伯特·科里特尼克

1
我建议您先告诉他们,而不要煽动他们。人们不会更好地理解自己的语言,倒不是因为不想让您说话,因为他们觉得您不愉快。
宫阪丽

3
“睡觉时叫他们回去”“人们通常会更好地理解自己的语言”这是很好的
一句话

2
老实说,如果他能达到“假设条件”的情况,最好的选择就是找到其他工作场所。(对于大多数人而言)连续工作12小时不健康(对于大多数人而言),而且在通话时甚至更糟。当然,他应该尽力解决问题,但是如果其他所有方法都失败,请退出。这种情况是不可持续的。
丹·里昂斯

14

除非您是团队中唯一的人-在这种情况下,否则您可能已经筋疲力尽了,请轮流使用“传呼机”。现在应该减轻负担。

然后,您需要通知管理层,他们需要安排一个阶段来偿还技术债务-这意味着测试,代码清理,重构。而且需要尽快安排。通常,这意味着一段时间以来,不会有不属于重构或测试的新代码。如果没有,那就只会变得更糟。

进入该阶段后,您将选择代码库中最麻烦的部分,对其进行重构,清理并编写测试以测试其中的内容。一旦通话停止,或者可以在不致于开发人员疯狂的情况下进行处理,那么您就可以准备进行其他阶段的功能(如果这正是他们想要的)。此时,您将使用新代码编写测试,并继续运行回归。现在,该软件听起来像是在重新编写的路上。

与老板对话的卖点:

  • 自动化测试可以停止或显着减少回归
  • 专注于稳定性意味着用户将减少工作延迟/停工
  • 不再有午夜通话,这意味着他们无需支付加班费
  • 没有更多的午夜电话意味着开发人员不会像以前那样精疲力尽

老实说。到目前为止,您的公司还没有想到这是一个足以解决问题的大问题。你会筋疲力尽。听起来,管理层中没有人拥有任何实际的开发经验。开始寻找。


更好的是,将传呼机交给导致您陷入困境的经理,或者不小心将其丢入一桶咸水中。
Stephen C

2
如果这个项目已经混乱地进行了三年,我想技术部门将持续几个月的时间。他们应该首先停止开发新功能,以解决20%的大多数有问题的问题(因为希望80%很少遇到这些问题),然后从重构开始。完成后,您可以开始触摸其他80%。但是,在解决所有当前问题之前,不要开始开发新功能。为什么?您越早解决错误,解决起来就越便宜。即使在您的情况下,似乎也没有便宜了。
罗伯特·科里特尼克

@Robert Koritnik:的确如此。+1
史蒂文·埃弗斯

13

虽然可能有些技术可以使您的生产率略有提高,但是将工作输出提高5%的后果比现在对您毫无用处的情况还要糟糕。您在这里缺少的真正技能很简单而且很基础:

学习怎么说

对您已经知道应该拒绝的所有不合理的期望说不。你知道他们是什么。那是显而易见的。如果您现在不能拒绝,请找到可以的工作。聪明的雇主会发现这种技能很可取。


1
最重要的是,这是必需的技能。好答案!
乔Z

8

首先要了解如果没有任何更改,您的项目将失败。这是要做您需要做的最重要的一步。开发人员一天无法维持12个小时的工作,并且无法产生有用的代码。您将到达一个错误点,您会犯下愚蠢的错误并实际上失去了进步,因为您必须每天都开始修正前一天的工作。听起来您已经在那里。

您必须先解决两个主要问题,然后才能恢复理智:

  • 管理层需要知道他们在做什么是行不通的。继续重复相同的错误将产生相同的结果。某些事情必须改变。
  • 您需要时间来修复已有的内容。这意味着您需要时间来计划您的攻击,并且需要花费8小时的工作日来进行攻击。
  • 您需要更改工作方式。了解您承受的压力越大,您的视野就越强。您无法想出解决问题的创造性方法,甚至也无法考虑如果在这样的压力下遇到问题时会发生什么。更不用说您出现严重健康并发症的机会更高。找到释放压力的方法,并找到减轻压力的方法。

为了解决您的问题,您需要管理层的支持。问题在于他们没有感觉到疼痛,您也不想因中风而去医院吸引他们的注意力。第一步是向您的管理层解释您的位置以及所承受的压力。如果他们不了解,请提高管理水平。或者可以向人力资源部门描述您的工作条件。要求您每天长时间工作超过8个小时可能违反法律,并且人事部门一定会知道。

假设管理层听到您的请求,您想采取以下措施:

  • 止血。没有新功能,其他人可以处理服务呼叫。您需要专注于手头的任务。
  • 确定需要修复的最严重的错误,并尝试找出修复它们所需的时间。这是一个粗略的估计,与较小的数字相比,较大的数字更好。要考虑一整天的会议和打扰情况,您的管理层需要基于每天工作5个小时的估算。剩下3个小时的会议和打扰时间。
  • 让管理层同意这些重大错误的修订时间表。
  • 让管理层同意让其他人为您测试。这不是在承认你不能做你的工作。这只是提供一些质量保证,因此每个版本都比上一个版本好。
  • 现在,您修复它们。编写单元测试以重现该问题,以便您知道何时开始工作。更重要的是,您将知道您在其他地方所做的某件事是否再次破坏了它。重构以使代码更好地工作。

一旦完成了关键的漏洞修复版本,就可以计划下一个了。需要对所有功能和错误修复进行优先级排序,并需要围绕未完成工作量的一部分计划发布。当您为工作生活带来一些理智时,您会发现压力水平会下降,质量会上升,整体上会更有效率。


6

您似乎在遭受我认为是虚假经济的困扰,而您坚持那些不起作用的东西的时间越长,您的问题就会越严重。

一些关键指标:

  • 时间表似乎不切实际。
    • 我认为管理层对良好的开发实践知之甚少。
    • 我认为管理层缺乏理解或支持。
  • 每天工作12个小时。
  • 高压力。
  • 缺乏睡眠。
  • 焦虑。
  • 对设计和代码质量的关注不足。
  • 缺少单元测试安全网。

我想知道在项目时间表很紧的情况下编写可以工作的代码是否可行?

简短的答案是肯定的。长远的答案是,它很复杂,并且需要代表管理层(可能还有客户)的观念发生重大变化,并且需要您做出艰巨的努力……但是我稍后会再谈一谈。

如何在相同的时间内编写更好的代码?

实际上,如果您的假设是您可以做任何可以节省时间并仍然获得理想结果的事情,那么您将无法做到。您需要应用一些技术来增加实现代码所需的时间,因为您需要花费一些时间来专注于正确获取细节。这需要时间,在这里您的虚假经济对您的伤害最大。但是,通过以更好的方式执行操作,可以提高代码的质量,从而降低系统的脆弱性。同样,我将进一步解释。

睡觉时我该如何清除内心的烦恼而又不担心工作呢?

焦虑会导致睡眠不足,而睡眠不足会导致焦虑。这是一个恶性循环,如果曾经存在过这种恶性循环,如果任其发展,可能会导致焦虑的邪恶双胞胎抑郁症。我认为慢性睡眠不足很可能与缺乏运动以及营养不良习惯结合在一起,都可能导致慢性疲劳。所有这些都是您在工作场所面临的所有问题以及您在家庭生活中可能面临的问题的症状。这是最大的虚假经济证据,可能是您首先需要解决的最严重的问题。

我也欢迎任何建议。

我首先要声明我不是医学专家,在采取任何行动之前,您确实应该先征询医生的意见。但是,我会注意到,我已经经历了您在帖子中描述的经历,并且我知道要处理它有多困难,以及对其进行处理有多重要。我经历了抑郁症,焦虑症,慢性疲劳,压力以及伴随它们的所有其他小疾病,因此,我将根据这些经验为您提供一些建议:

  • 去看医生,讨论您的症状。告诉医生您是否感到疲倦,大部分时间是否感到沮丧或担忧,是否经常感冒和流感以及身体感觉如何。如果您的医生允许,您很可能会得到抗焦虑甚至抗抑郁药。即使您不愿意,也要以门为傲,并按规定进行取放。他们确实提供了帮助,并让您找到了应付即将发生的一切的力量。
  • 找一位优秀的心理学家讨论您所知道的问题,以及谁可以帮助您探索对问题的看法,并帮助您制定解决问题的策略。要求您执行的某些操作似乎毫无意义,或有些白痴。无论如何都要这样做,因为它确实有帮助,特别是在教给您明确的思路方面。
  • 除非您真的需要它们,否则应避免服用片剂,因为您可能会依赖它们,并使您的睡眠问题更糟。就我个人而言,只有在周末后无法入睡时才服用它们,通常是在我度过了一个懒散而又无法满足的周末时。
  • 研究改变饮食。认真切掉咖啡因,因为它只会加剧焦虑。减少碳水化合物,平衡饮食,也就是说,我要吃更多的天然水果和蔬菜,减少食用的红肉量,并减少油脂。切掉软饮料,如果发现自己不可能放弃的话,每天限制自己喝一杯咖啡。饮食对于帮助您抵抗疲劳至关重要。另外,请尽早吃完最后一餐,这样您就不会饱肚子睡觉了。
  • 每天练习。至少每周至少进行一次剧烈运动,每天步行或骑自行车至少30分钟,以减少至少出汗。这将使您的身体疲劳,从而有助于您的睡眠和疲劳。
  • 改变你的睡眠习惯。力争早日起床工作,因此您需要早于上床睡觉的时间。如果您无法入睡,请在光线昏暗的房间里休息,阅读一些无聊的内容,也不要担心您是否真的无法立即入睡。

现在,我已经阅读了所有与医学有关的内容,让我们看看您可以对工作做些什么:

  • 有人建议使用Pomadoro技术。这也称为时间装箱,我认为这是个好主意。您基本上会集中注意力20-25分钟,然后稍作休息。我建议您起身走动约3-5分钟,然后看着远处休息一下。尽量不要在那段时间考虑您的任务。喝一杯,漫步到浴室,或者只是在办公室里短暂走动一下。
  • 根据您与老板的关系,找到一种方式开会并讨论您对工作时间表正在影响您的健康的担忧。告诉他,您不想冒险让公司的客户失望,并且您想尝试制定一种战略来确保您可以继续完成工作,但这意味着您需要也有时间解决您的健康问题。但是,将其作为最后的手段,因为最好解释这里起作用的虚假经济,例如:
    • 疲劳的工人最终会大大降低效率,而疲劳的工人则有能力在较短的时间内完成更多工作,因此,我将尝试提供一些数据和研究来支持您。有了一个好老板,您甚至都不需要这个。以下文章可能对您有用:第1条第2条第3条
    • 跳过测试并注意一些小细节会在以后花费您很多。以技术债务的概念为起点。
  • 尝试将您的工作时间减少到每天8到9个小时。
  • 预定一个假期,然后离开一段时间到一个安静的地方。即使您要做的只是将汽车开到树林中,然后露营一个星期。认真地,暂时不要进行任何操作以给电池充电。

在实际的编程相关方面:

  • 阅读书籍Clean Code and Refactoring,并花时间在其中应用这些技术。这些将帮助您处理代码质量问题。正如我之前提到的,这似乎会使工作花费更长的时间,但是您将花费更少的时间来处理因以前的工作方式而导致的混乱和问题。
  • 查找可以集成到开发环境中的工具,以帮助您提高代码质量。例如,如果您在Visual Studio中进行开发,那么如果认真使用它们,并且已经按照我提到的书中所述的方法运用了良好的技术,那么结合使用诸如Resharper和NCrunch之类的工具组合可以大大提高整体效率。 。
  • 编写单元测试,并使用测试优先方法。这似乎会使您最慢,但是在进行测试时,您将总体上加快开发速度,因为它们可以减少调试时间,并给您更改测试代码的信心。编写测试以满足要求,而不满足代码。这将使您的测试工作富有建设性地进行,这将最大程度地减少测试时间。

最重要的是,您需要从自己开始管理期望。您只是人类,在任何给定时间只能做很多事情。您需要管理老板的期望,并让老板9或您自己直接管理客户的期望。这意味着认真对待您所做的工作。为新功能分配时间,为错误分配时间,并假设您的截止日期会有所减少。在处理交货日期延误的可能性时,仅承诺提供一组关键功能,而将其余功能保留为“如果可能的话很好”。在下一个交货日期,您将再次执行此过程,增加先前交货的“精打细算”的优先级,依此类推。将此作为您开发方法的最小起点,然后在几次交付后进行检查,以查看可以在何处调整流程以提高效率。最大的效率来自于生活方式的改变,但是,您总是可以做些事情来简化您的工作,例如减少与您自己和最终用户之间的文档和通讯有关的开销。

在所有这些方面要积极主动。向您的老板表明你们可以一起工作以真正改善事务,这最终将对你们双方以及整个公司产生良好的影响。

另外,现在不要做出任何大胆的决定。等到您处理好健康状况和工作量后,再看一会儿。当您的头脑变得清晰起来,并且感觉自己处在一个更好的地方时,便是时候该决定是否值得留下,或者是否该继续前进了。我基本上要说的是一次处理一个问题,其余的则稍作改动,直到需要您的注意为止。


4

如果您的时间安排紧张,您需要对不要重复自己感到强迫。确定最常用的方法,并确保将其大量重复使用。

计划您今天要从事的工作,写下并坚持下去。尝试将您每次需要记住的东西限制在七个或更少。

我会再走一步,避免重复其他工作。尽可能使用该语言的库。如果可能,请使用第三方库。

似乎需要花费更多时间来编写代码,但目标是只执行一件事的方法。我将方法限制为决策或做事。您的代码的内聚性应该增加,而耦合的减少。您应该发现测试更加容易。这很适合逐步分解。

尽可能简化。使用模板,清单和任何允许您避免考虑琐事的技术。

您将需要避免打扰。每次打扰将使您花费约15分钟的时间。保护您的时间。

如果这是长期的,发现性能开始下降时,请回家。如果您每天工作12小时,那么您的工作表现可能与您每天工作8小时的表现差不多。您可能不会注意到性能下降的严重程度。多花四个小时来锻炼身体和休息。看看您是可以在午间小睡还是在午餐后休息几个小时。


4

如果我是你,我会与我的经理交谈,并向他们解释他们设置的最后期限是不现实的。如果您只是继续这样工作,他们会认为一切都很好,他们不会意识到您遇到的问题,最终您每天都会向系统中添加越来越多的编写不佳的代码,会使您的工作更加复杂。

作为替代方案,您可以随时切换到其他工作:-)


2

追踪您所做的一切

花时间来跟踪您所做的一切以及您和您的团队在此花费的时间。这最终将带给您管理层,向他们表明您需要以不同的方式做事。如果您对所从事的工作以及要花费多少时间来解决别人报告的问题没有冷漠的事实,那么很难说服他们需要进行更改。每个人都必须跟踪每个小时,以确保准确无误。这是用来表示您在过去3周中花费了80个小时来修复可能在相同时间内从头开始重建的系统。

尝试改变事物

使用您收集的跟踪信息以及其他人提出的重要建议来制定改进软件的计划。选择引起最多问题的软件部分。汇总您认为可以使事情以正常的可管理速度进行的计划。给它时间上班。

为可能要离开的事实做好准备

如果管理层不愿改变一切并与您合作,那么可能是时候考虑继续前进了。我同意其他人的说法,您正在精疲力尽。开始准备您的简历和投资组合。事情可能会有所改善,您不必继续前进,但是如果管理层不愿意做出改变,那就继续前进。您的心理和身体健康比坚持一份工作要花很多时间更重要。


我必须不同意“跟踪所有内容”部分,因为如果将这些数据传递给管理层,那么他们很可能会高度批评员工如何管理时间。这会加重员工的压力。
Acumenus

2

为了上帝的爱,您的项目经理在哪里?

如果您没有项目经理来帮助您确定生产时间,则需要一个。您需要一个专心于您的开发时间,限制范围蔓延,管理期望等的人员...

您从事创造性工作,以维持生计。如果您在客户和用户之间没有障碍,那么您如何有效地专注于发展呢?

一个好的PM可能对很多事情都有好处...

1.要播放“更高功率”卡:

您的用户正在为您寻找新功能,但是您确实需要一些时间来专注于错误修复版本。谁说您必须与用户交谈?签订合同是您的责任吗?管理客户期望是您的工作吗?您是否拥有决定合同条款的最终决定权?

没有?那么,为什么您要全权负责与客户互动?发展是艰巨的,需要集中精力。您需要有能力回收开发时间,并且可以通过良好的PM和良好的借口来实现。

不管您的PM与您相比有什么优势,如果客户开始对规范之外的修改感到困扰,请说。

“超出规范的谈判变更超出了我的薪水等级...”

这是一种礼貌的表达方式,我不给***。

接下来,对他们的“ Scope Creep Dog”生病。

“如果要更改规格,则必须与我的PM联系”

现在,别管我。允许用户具有与开发人员直接交互的能力,这是可以被剥夺的特权。如果不是这种情况,则说明您的管理失败了。

2.管理期望101

在他们的正确思维中谁认为您可以制定如此疯狂的时间表处理24/7技术支持。您需要有人为您站起来,因为您的时间很宝贵,应该专注于您的手艺。

这适用于客户以及您所在的公司。对于客户来说,如果他们超速,您可以随时询问...

“这项服务是否已写入合同中?”

如果不是,那么您有权拒绝请求。不要误会我的意思,超越客户和让客户满意是一件很不错的事,但让他们知道期望和您给予他们的好处之间的区别也同样重要。

对于您工作的公司,您需要有人来传达信息。

“要求我做的工作与我的薪水等级相等吗?”

也就是说,他们每年要付给您6万美元,将您的50%的时间用于电话技术支持吗?这是一个危险的话题,因此您需要可以信任的PM为您提供一个很好的案例。你应该对他说的是...

“我每年得到6万美元的报酬,但是我半数的潜在生产力都浪费在了手工工作上。”

或者,你们雇用了我,并愿意让我花一半的时间来填补低年级职位,从而为此而蒙受损失。信不信由你,通过最大限度地发挥自己的潜力,他们从长远来看可以赚更多的钱。

在业务方面,如果您能呈现双赢局面,那么让公司改变职位变得容易得多。您不必成为谈判大师就可以坚持下去。当然,如果公司资源有限,那么这可能会适得其反。

3.有时每个人都可以使用啦啦队长

一个好的下午自然会成为一个人。他们做事的核心是人际关系。一个好的PM可以告诉您的客户他们不想听的内容,并且让他们开心地离开。

在艰难时期,他们也可以成为道德支持的重要来源。如果您要求,简单的士气提升对于一个好的PM来说应该不会太多。您需要有人陪伴,否则您的士气下降,工作就会变得不堪重负。


如果您在组织中没有高层负责期望的管理人员,则您的管理将失败,并且高层可能甚至不知道项目的执行情况。

这就是我避免为像瘟疫这样的公司工作的主要原因。我很幸运能为我有更高职位的小型公司工作,我可以诚实地与谁讨论我将要说的话并在必要时采取行动的问题进行讨论。

您需要身边的人来帮助您保持业务需求并管理干扰。如果您没有它,也没有希望在将来找到它,那么祝您好运...


1

哇哇哇 !抱着你的马牛仔!您那里的开发似乎错了。您在编码时缺少一些软件基础知识。是的,请复习一下基本知识……生活会容易得多。

现在回到学校

  1. 快速开发定价软件计划 *
  2. 神话人月 *

*必读


2
下一个问题-如何编写代码并设法按时安排阅读一些书籍:-D
Ventsyslav Raikov 2012年

1
@Bond-老兄,我们在开始项目之前应该已经读过那些书。如果不是这样,我们需要意识到,持续学习是我们软件开发的一部分。我们不应该认为阅读不是我们日常工作的一部分。我们应该已经每天阅读一段时间。我认为,即使在办公时间内,软件开发人员也有权花一些时间阅读。我个人看到,即使每天阅读至少5页书,也会产生巨大的巨大影响。现在开始阅读,将帮助您节省下一个项目的时间。
Imran Omar Bukhsh 2012年

绝对同意你的男人,我每天读。但是我一天12小时不工作(我想是上面问题中的代码)。如果这样做的话,我绝对不会读书。生活比工作更重要。
Ventsyslav Raikov 2012年

@Bond-是的,但是如果我们不按照正确的方式工作,将没有多少生命。在我公司里,我每天工作5个小时。我们在大约1.5年的时间内制造了一个爬行引擎。我们每月有超过一百万的访客。
Imran Omar Bukhsh 2012年

1

我喜欢制作TODO清单,按必要顺序对其进行排序,并无条件地遵守该顺序-即使我想拖延一些任务。

您会惊讶地发现,仅通过减少花在想下一步工作上的时间就可以节省多少时间。


1

现在你能做的是

  • 与同事配对
  • 您编写或更改的所有代码都必须同意足够好。最好将其作为配对编程,如果无法配对,则仅进行同行评审。
  • 不要偏离这个!

这意味着至少从现在开始您的操作已经得到两个人的认可,希望可以改进这些代码。

可以做什么取决于管理。您可能想给他们看这个问题并给出答案!


我不得不强烈反对结对编程。这不是独立的思想家或创造性思维如何工作的方式。它也永远不能替代团队同行评审。
Acumenus

1

禁止通话并实施严格的“仅将错误转到错误跟踪程序”规则。然后,您的第一步就是对新输入的错误进行分类,清理重复项,确定优先级并首先进行错误修复。并确保您的错误修复程序实际上已修复了该错误并且不引入新的错误。

您如何最后做那一部分?通过将测试用例改装到现有代码上。如果您有函数,请测试它们是否输入和输出了您所期望的东西,并且如果您给它们添加垃圾,它们是否会失败。使用某种自动化的UI测试来从头到尾测试集成和性能。

您实际上不是在凌晨3点起床来解决代码问题,是吗?如果是这样,您应得到的一切。



0

您和像您这样的开发人员,是我想到需要软件开发许可证(例如医生和律师)的唯一原因。这样一来,您的许可证就可以因不遵循基本的编程技巧而被吊销。它不仅可以保护行业免受不称职的影响,而且还可以保护那些称职的程序员免受那些坚持认为自己的程序员不遵循良好实践的经理的影响。

仅供参考,实际上每个人的工作期限都很紧。但是,那些知道自己在做什么的开发人员会遵循最佳实践,因为从长远来看,这样做可以更快地完成工作。然后,他们不必连续3年每天工作12个小时。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.