Skip to content

kaen98/learn-go-with-tests

Repository files navigation

learn-go-with-tests

通过编写测试学习 Go 语言

通过编写测试学习 Go 语言

图片由 Denise 创作

通过 Go 语言学习测试驱动开发

  • 通过编写测试学习 Go 语言

  • 为测试驱动开发打下基础。Go 是学习测试驱动开发的优秀语言,因为它简单易学而且内置测试功能

  • 相信你很快就可以使用 Go 语言编写健壮的、具有良好测试的系统

背景

我曾经向一些开发团队介绍过 Go 语言,并尝试用不同的方法促使一个团队从对 Go 感兴趣成长为 Go 的高效开发者。

无效的方式

阅读相关书籍

我们曾经尝试过阅读 蓝皮书,并且每周在练习的同时讨论下一章的内容。

我很喜欢这本书,但理解他需要高度的投入。 它非常详细地解释了每个概念,这很棒但也意味着进步是缓慢的 —— 这不适用于每个人。

我还发现只有一小部分人会阅读每一章并完成章节后的练习,大多数人都不会做。

解决一些问题

Kata(编码套路) 很有趣,但是对于学习一门语言,它的作用是有限的,你不太可能用 Go 例程来解决 kata 问题。

另一个问题是每个人的学习热情是不同的。当学习更多的人展示他们开发的功能时,一些初学者会对不熟悉的语言特性赶到困惑。

这最终会使学习的体验变得 杂乱无章

有效的方式

到目前为止,最有效的方法是通过 go by example 逐步介绍语言的基础,通过例子探索学习,并以小组形式讨论。这是一种比「阅读并完成每一章的练习」更具互动性的方法。

随着时间的推移,团队获得了该语言坚实的 语法 基础,这样我们就可以开始构建系统了。

在我看来,这就像是在学习吉他时的练习音阶。

不管你认为自己多么有艺术感,如果不了解基本原理和练习技巧,你是不可能写出好音乐的。

对我有效的方式

学习一门新的编程语言时,我通常从使用 REPL (Read-Eval-Print-Loop) 开始,但最终,我还是要让程序更加结构化一些。

我喜欢做的是探索概念,然后用测试来巩固我的想法。测试验证我编写的代码是正确的,并记录我学到的特性。

结合我在团队中学习的经验和我个人的方式,我将尝试创建一些对其他团队有用的东西。通过编写小测试来学习基础知识,这样您就可以利用现有的软件设计技能来开发一些优秀的系统.

适用人群

  • 对学习 Go 语言有兴趣

  • 已经对 Go 有一些了解,但是想要了解更多测试的内容

准备工作

  • 一台电脑

  • 安装 Go

  • 一个文本编辑器

  • 有一些编程的经验,理解 if ,变量,函数等概念。

  • 熟练的使用终端

About

通过编写测试学习 Go 语言

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages