首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >YAGNI和初级开发人员

YAGNI和初级开发人员
EN

Stack Overflow用户
提问于 2009-07-18 19:06:57
回答 7查看 583关注 0票数 3

在为新系统编写代码时,我不想在设计中引入不必要的复杂性,因为我可能永远不需要这样做。因此,我在这里遵循YAGNI,并相当重构,因为我认为需要更多的灵活性或责任变得更加明确。这可以让我移动得更快。

但是初级开发人员在这里有一个问题,他们无法识别何时重构或在哪里构建设计。他们只是在现有的设计中加入更多的代码。

那么,解决这个问题的最好方法是什么呢?我是否应该更经常地构建一个更面向未来的设计,以便在添加时他们有一个很好的例子可以遵循,即使我们可能永远不需要添加任何东西?或者我应该继续进行更多的代码审查,教育,等等?还是两者都有?

你们中有没有遇到过这种类型的问题?你是怎么解决这个问题的?

EN

回答 7

Stack Overflow用户

发布于 2009-07-18 19:11:00

我推荐代码评审或结对编程。它让您有机会教育您的开发人员同事,并提高整体质量。

票数 11
EN

Stack Overflow用户

发布于 2009-07-18 19:54:26

也许你一开始就明确认识到,你的工作的一部分是帮助开发初级开发人员。如果你不是老板,管理层应该在这上面签字。管理层需要认识到,您的选择是现在开发它们,还是以后清理它们,并且您需要管理层的支持来应对这一过程。

代码评审和结对编程都是不错的主意。它们特别好,因为它们不是“仅供初级人员使用”,-I和我的一位亲密同事一起做这两件事;我们加起来已经将近100岁了,有70多年的编程经验:-)

但这里有一个更大的问题:让你变得最有效的编程方法(YAGNI +重构)对你的初级合作伙伴来说并不有效。我的经验是,人们需要数年时间才能了解YAGNI的好处,所以如果你期望他们仅仅学习你的做事方式,你就会让自己失望。

我鼓励你确定一些你认为对你的初级合作伙伴有用的方法。具体的方法论可能无关紧要(异端!);我已经在复合/结构化设计、基于对象的设计、代数规范(!)和极限编程方面取得了成功。但

  • 确实会挑选一些有名字和一些相关文献的东西,让你的后辈们在学习中感到自豪,这是他们可以带到未来项目中的技能。
  • 为了展示它的美味,你可能需要自己吃狗粮。选择一些你可以接受并且富有成效的东西。
  • 仔细观察你的下级,教他们一个决策程序,他们可以用来确定什么时候应该向你寻求指导。

祝好运!

票数 9
EN

Stack Overflow用户

发布于 2009-07-18 19:10:42

他们是初级的,而你是高级的,这是有原因的。

其中之一就是能够意识到何时需要更改设计。

我会像你一样继续下去,但鼓励他们在事情变得困难的时候来找你。然后,如果需要,您可以与他们一起更改设计,这将比重构更容易,并将帮助您将知识传授给初级开发人员。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1148314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档