Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Project management 如何告诉别人他应该提高自己的技能?_Project Management - Fatal编程技术网

Project management 如何告诉别人他应该提高自己的技能?

Project management 如何告诉别人他应该提高自己的技能?,project-management,Project Management,您正在一个项目中与某人一起工作,而此人编写了糟糕的代码。解雇他也没那么糟吧你不能这么做, 但是 个人不遵守编码惯例 单元测试并不总是涵盖代码(应该是这样) 代码是草率的,在应该有注释的地方没有注释 不熟悉设计模式的人/根本不知道 当他需要一些空间时,把他的衣服放在你的桌子上 那么,如何告诉一个人他需要提升自己的技能,而不伤害他呢?我描述了一个问题。但是想象一下,一切都很好,除了一些真正影响项目的事情。怎么做才能让你们仍然是朋友,但盖伊真的明白他需要改变什么吗?这是让整个公司进行为期一个月的代

您正在一个项目中与某人一起工作,而此人编写了糟糕的代码。解雇他也没那么糟吧你不能这么做, 但是

  • 个人不遵守编码惯例
  • 单元测试并不总是涵盖代码(应该是这样)
  • 代码是草率的,在应该有注释的地方没有注释
  • 不熟悉设计模式的人/根本不知道
  • 当他需要一些空间时,把他的衣服放在你的桌子上

那么,如何告诉一个人他需要提升自己的技能,而不伤害他呢?我描述了一个问题。但是想象一下,一切都很好,除了一些真正影响项目的事情。怎么做才能让你们仍然是朋友,但盖伊真的明白他需要改变什么吗?

这是让整个公司进行为期一个月的代码审查的一个很好的选择。你不会把他挑出来(这很好,除非其他一切都失败了),你更优秀的工程师可以帮助他。

只要保持专业性,指出你的bug跟踪、代码审查或任何跟踪工作项和bug的方法中的问题

该人员的经理和项目经理有责任确定责任人,并礼貌地通知该人员。这是他们的工作,如果他们不能做到这一点,你的项目(可能是公司)可能不是一个很好的工作对象。

  • 匿名地在他的办公桌上留下一些,比如“代码完成”或“重构”
  • 假设你不是他的领导,将你的担忧告知他的领导,让他为问题负责
  • 编写一些单元测试来覆盖他的代码。他可能不知道如何编写好的测试,所以他可以以你的测试为例。设置定期运行这些测试的自动化脚本,并发送详细说明失败原因的邮件,这样他就不能简单地忽略这些测试的存在
    • 我建议对任何不符合质量标准的代码进行“失败”。例如,如果缺少单元测试,则代码“失败”,以便返回给开发人员进行纠正。这类似于代码在UAT或其他方面失败,不同的是它更多的是来自开发团队的团队领导的内部审查

      例如,在我工作的一个地方,我领导着一个开发团队。我们的PHP生产代码正在向日志文件写入不必要的警告,这最终导致了磁盘空间问题和调试真正bug的困难

      因此,为了纠正这个问题,我制定了一条规则:如果您编写的任何代码将警告写入日志文件,那么该版本的测试将失败,并且您需要在进一步测试之前修复它

      在下一个版本中,我们几乎没有收到任何警告。现在,从技术上讲,这不是一个bug,只是一个代码质量问题。关键是,需要有人充当看门人,在开发生命周期的某个时刻审查和实施质量控制


      更好的是,编写一些自动集成测试,检查单元测试是否存在,以及代码是否正确设置了样式。有一些工具可以为您检查这一点(不确定它们的名称,其他人可能会就此向我们提供启示)。这样,构建就无法通过自动化、可复制的测试。如果发生这种情况,代码会很快得到清理。

      您可以在构建过程中实施代码分析/样式工具,以强制执行特定的设计和样式指导原则。这种方法的好处是,它不会把任何人挑出来,而且适用于所有人


      根据您的项目使用的语言,可能有一些工具可以为您完成这项工作。例如,对于C#projects.

      我们有一个家伙在工作,他每周只洗一次澡(不,他不是法国人)。到了周末,他的BO变得很糟糕。我们在他的桌子上留下了一堆卫生用品,让他试着给他一个线索。没用。我想从那以后,他开始在两次洗澡之间休息两周。呸。这是20多年前的事了

      编码约定?像什么?在哪里放花括号

      缺少/不好的评论?嗯,有时候没有评论总比无缘无故或错误的评论好

      草率的代码?也许是这样。举一两个例子。也许他是个好程序员,而你却没那么聪明。毕竟,首相们通常不是那么聪明,他们只是比我们中的一些人更懂得如何拍马屁

      设计模式?废话宾果游戏素材


      但是脱下他的衣服,把它们放在你的桌子上是很奇怪的。哦。

      放松点,请他喝一杯,出去喝一杯,然后向他解释整个情况。第二天早上,如果他还记得的话,他会理解的。如果不是
      这次他要脱下所有衣服放在你那该死的桌子上:)

      嗯?他把他的衣服放在你的桌子上?你是说他写裸体代码?应该是一个社区维基,请注明。@MusiGenesis:我本来想问的,但是。。哈哈哈!我也有同样的问题。我想这是关于办公室环境的。我的项目经理甚至告诉我们不要写单元测试(所以我不能让我的同事这么做。我投票将这个问题作为离题来结束,因为严格来说,这不是一个编程问题,更像是一个道德/文化问题。除此之外,听起来你是他的办公室伙伴,而不是他的经理。你应该向你的经理谈谈你的担忧。你在使用什么语言/构建过程?这里是一个t。)用于代码风格检查的面向Java的ool:像这样的自动化和权威工具的优点是它们不受欢迎——没有人被挑出来,每个人都必须达到相同的标准——这使得它们比人工调节的系统更容易引起争议。