通过测试学习Go语言
图片创建者
通过Go语言学习测试驱动开发
读
背景
我有一些向开发团队介绍 Go 的经验,并且尝试了许多不同的方法来将一个对 Go 充满好奇的团队转变为有效的 Go 系统开发人员。
无效的阅读方式
我们尝试阅读蓝皮书(The Go)并在每周练习的同时讨论下一章。
我很喜欢这本书,但它需要高度的投入。它非常详细地解释了每个概念,这很棒,但也意味着进展缓慢而稳定 - 这并不适合所有人。
我还发现只有一小部分人会阅读第十章并完成相应的练习,大多数人不会。
解决一些问题
Kata^Note 1 很有趣,但对于学习语言来说,它们的范围通常是有限的;你不太可能使用 Go 例程来解决 kata 问题。
还有一个问题是每个人的学习热情不同。当学得更多的人展示他们开发的功能时,可能会导致其他人对不熟悉的功能感到困惑。
这最终会让学习变得非常混乱和无序。
有效方法
到目前为止,最有效的方法是通过go by慢慢介绍语言的基础知识,通过示例探索学习,并进行小组讨论。这是一种比“阅读第十章做作业”更具互动性的方法。
随着时间的推移,团队获得了坚实的语法基础,以便我们可以开始构建系统。
这对我来说就像学习吉他时练习音阶一样。
无论你认为自己有多艺术,如果不了解基础知识和练习技巧,你就无法写出好的音乐。
什么对我有用
当学习一门新的编程语言时,我通常会在REPL(Read-Eval--Loop)环境中随意编写代码,但最终我想让程序变得更加结构化。
我喜欢探索概念,然后通过测试巩固这些想法。测试验证我编写的代码是否正确并记录我学到的功能。
借鉴我在团队学习方面的经验和我自己的个人风格,我将尝试创造一些新的学习方式,我希望这些方式对其他团队也有用。通过编写简单的测试来学习基础知识,以便您可以掌握现有的软件设计技能并交付一些出色的系统。