通过 Exercism 提升你的编程技能

这些练习目前支持 33 种编程语言。
578 位读者喜欢这篇文章。
code

Opensource.com

我们很多人都有 2017 年的目标,那就是提高我们的编程技能,或者从头开始学习编程。虽然我们可以访问许多资源,但在特定工作之外练习代码开发这门艺术需要一些规划。Exercism.io 就是一个为这个确切目的而设计的资源。

Exercism 是一个 开源 项目和服务,旨在通过探索和协作的理念帮助人们提升编程技能水平。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 说。虽然 Exercism 的目标不是教会参与者足以成为程序员的知识,但它的练习让他们深入熟悉一种语言及其缺点。这种熟悉感消除了学习者语言上的认知负担(流畅性),使他们能够专注于架构和最佳实践(熟练度)等更困难的问题。

Exercism 通过一系列(还能是什么?)练习来实现这一点。程序员下载 命令行客户端,检索第一个练习,添加代码来完成练习,然后提交解决方案。提交解决方案后,程序员可以学习其他人的解决方案,并从同一個问题的不同方法中学习。更重要的是,每个解决方案都会收到其他参与者的反馈。

反馈是 Exercism 的超能力。鼓励所有参与者不仅要接受反馈,还要提供反馈。根据 Owen 的说法,Exercism 社区的成员从提供反馈中学到的东西比从完成练习本身中学到的还要多。“这是一种强大的学习体验。你被迫表达直觉感受,并检查你的假设、习惯和偏见,”她说。她还指出,反馈可以采取多种形式。

“只需进去提出观察和问题,”Owen 说。

那些刚接触编程,甚至只是刚接触特定语言的人,可以通过质疑假设来提供有价值的反馈,同时也可以通过协作和对话来学习。

除了实现新语言的碎片化学习之外,Exercism 本身也强烈支持和鼓励新的贡献者参与该项目。在 SitePoint.com 上的一篇文章 中,Owen 强调说,“如果你想为开源贡献代码,你需要的技能水平是‘足够好’。”Exercism 不仅鼓励新的贡献者,而且作为一个项目,它会尽一切可能帮助新的贡献者提交他们的第一个补丁。迄今为止,已有近 1,000 人成为 Exercism 项目的贡献者。

新的贡献者将有很多事情要做。Exercism 目前正在审查 其语言轨道的健康状况,目的是使所有轨道都可持续发展并避免维护者倦怠。它还在寻求 捐款 和赞助,以聘请设计师来提高网站的可用性。

Owen 说,这些改进对于网站的健康和 Exercism 参与者的福祉是必要的,但这些改变也鼓励并简化了新贡献者加入的道路。“如果我们可以重新设计产品方面,它将更易于维护......当用户体验一团糟时,拥有漂亮的代码真的毫无意义,”她说。该项目有一个非常活跃的 讨论仓库,社区成员在那里协作以发现最佳的新方法和功能。

那些想关注该项目但尚未参与的人可以关注 幕后邮件列表

标签
VM Brasseur profile photo
VM(又名 Vicky)在科技行业度过了 20 年,领导软件开发部门和团队,并为中小型企业提供技术管理和领导力咨询。

2 条评论

我只是对提高编程水平感兴趣,但是我现在在我们当地的学院参加一个移动应用课程(Android),所以要到 2017 年 5 月我才能抽出时间来认真对待这件事。
谢谢你,
Pat Burgess

这看起来正是我一直在寻找的东西。坐在家里或试图读完《Java For Beginners》这本巨著的仅仅一段文字本身就令人望而生畏。在没有“支持系统”的情况下,我感到完全孤独和不知所措……但这可能正是我需要提高水平的东西……我想变得足够好,以便我可以在编程领域找到一份职业……(即使我已经 45 岁了,但我认为我仍然可以做出贡献!)希望这个项目能获得他们需要的所有经济帮助。(我愿意捐款,这是肯定的!……捐赠给这样的东西的回报是无可比拟的!

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.