常见问题

各种常见问题解答


Exercism 背后都有谁?

Exercism 的两位联合创始人是 Katrina Owen 和 Jeremy Walker。

Exercism 最初由 Katrina 创立。她是一位多语言开发者,曾获得“Ruby Hero”奖,在攻读分子生物学学位时意外成为了开发者。早在 2006 年,她在 JavaRanch 做志愿者时就开始挑代码的毛病,从此一发不可收。编程时,她专注于自动化、工作流优化和重构。她非常重视开源,并在 Exercism 之外为多个项目做贡献。

2016 年,Jeremy 以联合创始人的身份加入,目前担任 Exercism 的 CEO。Jeremy 是一位社会企业家和软件开发者,热衷于追求平等,为每个人创造机会。除了 Exercism,他还是身心健康与团队建设平台 Kaido 的联合创始人。

除了这个领导团队,Exercism 还有一支小型全职和兼职团队,并得到数千名优秀志愿者的支持,他们打造的各种语言轨道和练习让 Exercism 如此受欢迎。

进一步了解我们的导师、轨道维护者以及数千名贡献者。

“Exercism”这个名字是怎么回事?

虽然和“exorcism”只差一个元音,但这个名字和恶魔或者修复“邪恶代码”毫无关系。

实际上,这是对 exercise 这个词的一个双关。Katrina 对每个练习的看法是:它们小巧、微不足道,看似简单。然而,真正动手解一道练习时,细节里往往藏着玄机。换句话说,一旦你考虑到那些更细微的细节,那个简单的练习就突然变得更有挑战性了。

想进一步了解“细节里藏着玄机”到底意味着什么,可以看看 Katrina 的Here Be Dragons和One Small Step这两场演讲。

基础

我迷失了,该去哪里?

你很幸运。这里有一份分步指南,帮你入门。

如果还有哪里不清楚,或者某个地方不工作,别人可能也遇到了同样的问题,所以我们希望你能在论坛上告诉我们。

登录时出现 “Sorry, we could not authenticate you from GitHub” 错误,该怎么办?

这意味着 GitHub 不愿意验证你的身份。可能是你选择了不授权,也可能是你的 GitHub 账号没有正确配置。一个常见问题是你还没有在 GitHub 上验证邮箱地址。你可以在 GitHub 邮箱设置 里检查。

如何删除我的账号?

你可以通过设置页面底部的链接删除账号。如果你的问题是邮件和通知,可以在个人偏好设置里调整。

解一道练习需要做什么?

开始做一道练习时,你会拿到一个需要补全的“桩代码”,以及一套完整的测试,代表你的解答必须满足的要求。这种开发方法就是测试驱动开发的一种形式。

如何解锁练习?

默认情况下,带有学习练习的轨道会要求你先完成学习练习,才能解锁其他练习(如果你精通某门语言,每个学习练习大约需要 5 分钟)。这就是学习模式。

我们推荐用学习模式在一个轨道里逐步推进,不过你也可以切换到练习模式来解锁所有练习。更多信息请见解锁练习。

为什么我在旧网站上解锁的练习变成了锁定状态?

默认情况下,带有学习练习的轨道会要求你先完成学习练习,才能解锁其他练习(如果你精通某门语言,每个学习练习大约需要 5 分钟)。这就是学习模式。

学习模式是任何使用过旧版 Exercism 的用户的默认模式。因此,回访的用户可能会发现,之前可以做的练习现在被锁定了。

我们推荐用学习模式在一个轨道里逐步推进,不过你也可以切换到练习模式来解锁所有练习。更多信息请见解锁练习。

Exercism 命令行客户端

我无法提交!该怎么办?

新网站有一个全新的命令行客户端,还需要为你的练习提供一些额外的元数据。阅读了解如何升级命令行客户端并为新网站迁移解答。

如果这没有帮助,或者你没用过旧版命令行客户端,请阅读命令行客户端操作指引。如果还是不行,请在论坛发帖,我们会帮你解决。

如何查看我的命令行客户端的版本?

版本命令exercism version会输出当前运行的 Exercism 命令行客户端版本。加上 latest 标志运行版本命令exercism version --latest,就能检查是否有更新的版本可用。

如何升级到命令行客户端的最新版本?

命令exercism upgrade会把命令行客户端升级到最新可用版本(如果有的话)。

升级时出现 permission denied 错误!该怎么办?

如果在升级命令行客户端时收到 permission denied 错误,很可能是这个二进制文件是通过系统包管理器(比如 Homebrew)安装的,或者被安装到了你已经没有写入权限的目录里。

如果你的命令行客户端是通过包管理器安装的,请用包管理器来升级,而不是运行exercism upgrade命令。

如果命令行客户端是手动安装的,请检查 Exercism 命令行客户端的路径:在 Linux 和 MacOS 上用which exercism,在 Windows 上用where exercism,并确认返回的路径是你自己创建的目录。如果是,就用系统提供的工具修改该目录的权限,给你的用户授予写入权限,然后再次尝试升级。如果你不确定这个目录是不是自己创建的,或者返回的路径是系统路径,请用系统工具卸载命令行客户端,然后通过交互式操作指引重新安装。

在 Windows 上升级后弹出 “16-bit MS-DOS Subsystem” 错误对话框,该怎么办?

在 Exercism 命令行客户端 3.0.5 版本之前,升级命令有一个 bug,会把命令行客户端二进制文件替换成一个单独的文本文件,从而引发 “16-bit MS-DOS Subsystem” 错误。要解决这个问题,请删除损坏的二进制文件,并通过交互式操作指引重新安装命令行客户端。

指导模式

我的队列很久没更新了,出问题了吗?

等待时间可能因为各种原因(导师数量、季节)比平时长,队列也可能看起来没有更新。这很正常,你应该很快就能看到进展。如果你的等待时间远远超过平均水平,请参考下面的提交问题。

我的轨道有多少位导师?网站上我只看到几位。

网站只显示那些提供了个人简介的导师,并不代表正在积极审阅解答的导师实际人数。请放心,有导师正在处理自己的队列,坚持一下!

我提交了错误的解答 / 文件,该怎么办?

在对应的练习页面上,进入“你的迭代”。如果不要的那次迭代是折叠的,点击带圈的箭头。在“…”菜单里,选择“删除迭代”。

如何举报辱骂行为或不良指导?

请查看我们的行为准则,了解我们对行为的要求。如果你想举报某些情况,请通过 abuse@exercism.org 联系我们,我们会在尊重你和你的隐私的前提下尽力修复或解决问题。

为什么我不能对代码表示给出反馈?

要对某个轨道的代码表示给出反馈,你需要满足以下三个条件:

  1. 正在指导该轨道
  2. 已经为该轨道指导了至少 100 个已结束的讨论
  3. 总体满意度评分至少为 95%

改进 Exercism

太棒了!我该如何参与?

有几种不同的方式:成为导师、管理某个语言轨道,或者在 GitHub 上报告(或解决!)问题。更多内容请见如何贡献页面。

新的语言轨道是如何添加到网站上的?

当社区成员牵头负责并成为轨道维护者时,一个新的语言轨道就诞生了。如果你想参与帮忙搭建一个轨道,这里有说明。

出问题时告诉我们

如果你发现问题,请在论坛上发一个帖子告诉我们。

发帖之前,请务必先查看已有的讨论。 试试几个不同的关键词。

如果我的问题不在上面或论坛上,怎么办?

如果你的问题还没有被解决或报告,那就发一个新的论坛帖。

请务必包含以下信息:

  1. exercism troubleshoot命令的输出(针对 CLI 问题)
  2. 你遇到的问题的详细信息
  3. 复现该问题的步骤
  4. 如果适用,用问题编号引用任何相关问题(格式类似 #1203)

如果网站上的语言有问题,怎么办?

如果你的问题与你的语言轨道中的某个练习有关,请从这个列表中找到正确的语言轨道,并在那里提交问题。请用下面的模板说明问题出在说明文字上,还是某个语言特有的地方。

如果你在通用网站上发现了错别字,或者对更清晰的语言或说明有建议,请在论坛上发一个新帖,包含以下信息:

  1. 问题所在页面的链接
  2. 说明错误是什么或哪里不清楚
  3. 你建议的修改