使用 Exercism 提升你的编程技巧
============================================================

> 这些练习目前已经支持 33 种编程语言了。

 ![Improve your programming skills with Exercism ](https://opensource.com/sites/default/files/styles/image-full-size/public/images/life/code2.png?itok=CVgC8tlK "Improve your programming skills with Exercism ") 
 
>图片提供： opensource.com

我们中的很多人的 2017 年目标，将提高编程能力或学习如何编程放在第一位。虽然我们有许多资源可以访问，但练习独立于特定职业的代码开发的艺术还是需要一些规划。[Exercism.io][1] 就是为此目的而设计的一种资源。

Exercism 是一个 [开源][2] 的项目和服务，通过发现和协作，帮助人们提高他们的编程技能。Exercism 提供了几十种不同编程语言的练习。实践者完成每个练习，并获得反馈，从而可以从他们的同行小组的经验中学习。

这里有这么多同行！ Exercism 在 2016 年留下了一些令人印象深刻的统计：

* 有来自 201 个不同国家的参与者
* 自 2013 年 6 月以来，29,000 名参与者提交了练习，其中仅在 2016 年就有 15,500 名参加者提交练习
* 自 2013 年 6 月以来，15,000 名参与者就练习解决方案提供反馈，其中 2016 年有 5,500 人提供反馈
* 每月 50,000 名访客，每周超过 12,000 名访客
* 目前的练习已经支持 33 种编程语言，另外 22 种语言在筹备工作中

该项目为各种级别的参与者提供了一系列小小的挑战，使他们能够“即使在低水平也能发展到高度谙熟”，Exercism 的创始人 [Katrina Owen][3] 这样说到。Exercism  并不旨在教导学员成为一名职业程序员，但它的练习使他们对一种语言及其瑕疵有深刻的了解。这种熟悉性消除了学习者对语言的认知负担（使之更谙熟），使他们能够专注于更困难的架构和最佳实践的问题。

Exercism 通过一系列练习（或者还有别的？）来做到这一点。程序员下载[命令行客户端][4]，检索第一个练习，添加完成练习的代码，然后提交解决方案。提交解决方案后，程序员可以研究他人的解决方案，并学习到对同一个问题不同的解决方式。更重要的是，每个解决方案都会收到来自其他参与者的反馈。

反馈是 Exercism 的超级力量。鼓励所有参与者不仅接收反馈而且提供反馈。根据 Owen 说的，Exercism 的社区成员提供反馈比完成练习学到更多。她说：“这是一个强大的学习经验，你需要发表内心感受，并检查你的假设、习惯和偏见”。她还指出，反馈可以有多种形式。

欧文说：“只需进入，观察并发问”。

那些刚刚接触编程，甚至只是接触了一种特定语言的人，可以通过预设好的问题来提供有价值的反馈，同时通过协作和对话来学习。

除了对新语言的 <ruby>“微课”学习<rt>bite-sized learning</rt></ruby> 之外，Exercism 本身还强烈支持和鼓励项目的新贡献者。在 [SitePoint.com][5] 的一篇文章中，欧文强调：“如果你想为开源贡献代码，你所需要的技能水平只要‘够用’即可。” Exercism 不仅鼓励新的贡献者，它还尽可能地帮助新贡献者发布他们项目中的第一个补丁。到目前为止，有近 1000 人成为 [Exercism 项目][6]的贡献者。

新贡献者会有大量工作让他们忙碌。 Exercism 目前正在审查[其语言发展轨迹的健康状况][7]，目的是使所有发展轨迹可持续并避免维护者的倦怠。它还在寻求[捐赠][8]和赞助，聘请设计师提高网站的可用性。

Owen 说：“这些改进对于网站的健康以及为了 Exercism 参与者的发展是有必要的，这些变化还鼓励新贡献者加入并简化了加入的途径。” 她说：“如果我们可以重新设计，产品方面将更加可维护……当用户体验一团糟时，华丽的代码一点用也没有”。该项目有一个非常活跃的[讨论仓库][9]，这里社区成员合作来发现最好的新方法和功能。

那些想关注项目但还没有参与的人可以关注[邮件列表][10]。

--------------------------------------------------------------------------------

作者简介：

![](https://opensource.com/sites/default/files/styles/profile_pictures/public/pictures/vmb_helvetica_sm.png?itok=mSb3xriS)

VM（Vicky）Brasseur - VM（也称为 Vicky）是技术人员、项目、流程、产品和 p\^Hbusinesses 的经理。在她超过 18 年的科技行业从业中，她曾是分析师、程序员、产品经理、软件工程经理和软件工程总监。 目前，她是 Hewlett Packard Enterprise 上游开源开发团队的高级工程经理。 VM 的博客在 anonymoushash.vmbrasseur.com，tweets 在 @vmbrasseur。

--------------------------------------------------------------------------------

via: https://opensource.com/article/17/1/exercism-learning-programming

作者：[VM (Vicky) Brasseur][a]
译者：[geekpi](https://github.com/geekpi)
校对：[jasminepeng](https://github.com/jasminepeng)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

[a]:https://opensource.com/users/vmbrasseur
[1]:http://exercism.io/
[2]:https://github.com/exercism
[3]:https://twitter.com/kytrinyx
[4]:http://exercism.io/cli
[5]:https://www.sitepoint.com/exorcise-your-newbie-demons-by-contributing-to-exercism/
[6]:https://github.com/exercism
[7]:http://tinyletter.com/exercism/letters/exercism-track-health-check-new-maintainers
[8]:http://exercism.io/donate
[9]:https://github.com/exercism/discussions/issues?page=1&q=is%3Aissue+is%3Aopen
[10]:http://tinyletter.com/exercism/archive


