我们如何教好编程的知识?

时间:2020-03-06 14:48:40  来源:igfitidea点击:

在我公司,我们一直在进出承包商。很难维护像这样的代码库,因为编写代码的成熟度差异很大。在某种程度上,我的职责是指导开发资源。我发现,如果我只让他们编码,我会得到一些非常幼稚的东西。教那些已经是开发人员的人如何以及何时使用界面,抽象,包装,设计模式,反射等的最佳方法是什么?

解决方案

答案就在问题中。我发现这样做的唯一方法是一次指导年轻的开发人员。这意味着要使开发人员具有预测困难的能力,并花费时间指导他们朝正确的方向发展。

编辑:回头看问题,我想也许我的回答不太好。除非他们是长期的(并且可能不在海上),否则我认为我们不会有很多指导承包商的运气。你将得到你所得到的。雇用时请记住这一点。

让每个人都从维护开始。仅通过学习对不良代码进行繁琐的维护,我们不仅可以学习如何编写优质的代码,而且可以真正地动机。

问题比编程和IT更大,当然,它确实进入了教学理论的核心,即如何最好地将知识从一个人传给另一个人。

我们知道一些基础知识-学生与教师的比例等等。如果我们希望他们精通某些知识,那么我们将无法为学生做这项工作。

那么,我们可以从中得到什么呢?确保我们对"学生"的去向有一致的标准。确保我们拥有可以学习的优质材料。我们必须有一种方法来执行此操作,否则我们会发现自己浪费了大量自己的宝贵时间。指导非常重要,但同样,学生在指出了正确的方向之后,还需要掌握学习的知识。

那么,我们如何教授超越语法的导入编程概念呢?

就个人而言,我喜欢指导并提供初级开发人员可以深入学习以了解自己的来龙去脉的良好示例。

并且不要忘记,他们需要有犯错误的余地,但是必须找出并纠正这些错误。

我建议确保将代码审查以某种方式并入开发过程中。不是对抗性的(两个或者更多审稿人在会议室与编码员聚在一起,结果把他撕成碎片),而是一对一地讲述了所写的内容。根据描述,听起来开发人员地理位置遥远,因此很难进行有效的代码审查。但是,坚持不懈是值得的。如果我们不能亲自见面,那么最好将代码都放在两个人之间进行实时语音对话。

只要我们以帮助开发人员变得更好为目标而进行这样的评论,那么你们俩都会从中受益。

"教学"可能不是我们想要的正确方法。我们希望他们利用知识并使事情变得更好,并且不断地这样做是一种查看事物的略有不同的方式。开发人员享有什么样的声誉?如果以我们想要的方式使用接口,抽象,包装,设计模式,反射等,他们会获得哪些好处?他们想要什么样的好处?这就是想到的问题,有时,如果我们能找到激发某人的动机,那便是关键,而不是仅仅假设问题出在"技术"上。有关差异的更多信息,请查看"洞察力的来源"上的这篇文章,该文章是有关IMO的模式和实践的出色博客。

结对编程对此非常有用,因为它就像一个连续的代码审查。大三学生将从高级中学到很多关于设计的知识:"界面,抽象,包装,设计模式,反射等"。