--- title: Free Code Camp Style Guide for Algorithms localeTitle: 免费代码营风格指南 --- 编写算法挑战是锻炼自己解决问题和测试能力的好方法。密切关注此过程,以最大限度地提高我们接受您的算法的机会。 * 分叉Free Code Camp存储库并打开`seed_data/Algorithms.json`以熟悉我们的算法格式。 * 无论您的算法有何困难,请将其作为JSON文件中的最后一个算法。更改ID中的一个数字以确保您的算法具有唯一ID。 * 在终端中,运行`node seed_data/seed.js`跑了`gulp` 。您应该能够在挑战地图中导航到新算法。每当您对Algorithm.json进行更改时,您都需要重新设置才能在浏览器中查看这些更改。 * 解决你自己的算法。确认您的测试按预期工作,并且您的说明足够清晰。 * 向Pull Code Camp的Staging分支提交拉取请求,并在拉取请求正文中链接到具有算法解决方案的要点。 以下是每个算法字段的说明。 * 名称 - 挑战的名称。这是幽默的,但它必须简短而且与任务相关。 * 难度 - 与现有算法挑战相比,尝试评估难度。算法难度的一个很好的代理是你需要多长时间才能解决它。每15分钟一次,增加难度。例如,一小时算法可能应该是4。 * 描述 - 带换行符的单独段落。在用户点击“更多信息”按钮之前,只有第一段在用户之前可见。所有必要的信息必须包含在第一段中。尽可能简洁地写下第一段。如有需要,后续段落应提供提示或详细信息。如果您的主题需要更深入的了解,您可以链接到维基百科。 * 挑战种子 - 这是你在露营者启动算法时设置编辑器中的内容的地方。 * 测试 - 这些测试将您的挑战变为现实。没有它们,我们无法确认用户提交的答案的准确性。明智地选择你的测试。使用Chai.js断言库编写算法测试。请使用should和expect语法以获得最终用户的可读性。作为不做的一个例子,许多原始的算法挑战是用assert语法编写的,许多测试用例很难读。如果您的算法问题有很多边缘情况,您将需要编写许多测试以获得完整覆盖。如果您发现自己编写的测试数量超出了您的需求,您可以考虑简化算法挑战的要求。对于难度级别1到3,您通常只需要2到4次测试。 * MDNlinks-看看`seed_data/bonfireMDNlinks.js` 。如果这些概念中的任何一个与您的算法相关,请务必包含它们。如果您知道此处未链接的MDN文章,则可以在将其添加到算法之前将其添加到bonfireMDNlinks.js文件中。