发布于 2026-01-05 3 阅读
0

100 天代码挑战必备指南

100 天代码挑战必备指南

关于本指南

“100天编程挑战”是Alexander Kallaway于2016年发起的一项挑战,旨在帮助他实现作为软件开发人员的目标。Kallaway制定了一系列规则和指导方针,以培养良好的编程习惯,并激励他迎接新的编程项目。

从那时起,成千上万的开发者接受了他的挑战。

并非每个人都能成功完成挑战。这需要决心、毅力和勇气。周密的计划也至关重要。

我们认为我们可以提供帮助。

我们根据研究成果整理了一份最佳实践和实用技巧清单,旨在帮助您充分利用本次活动。在本指南中,我们将带您了解挑战规则、参与理由以及我们总结的 12 条成功秘诀。指南末尾,您还可以查看来自社区和软件提供的实用资源和工具列表。

在 Software,我们致力于帮助开发者提升技能。希望本指南对您有所帮助,祝您编程之旅一切顺利!

什么是“100天编程挑战”?

什么是“100天代码挑战”

“100 天代码挑战”是开发者自主发起的一项活动,旨在培养强大且持续的编码习惯。该挑战利用社会责任感、透明度和深度反思来塑造健康的开发者习惯。

这项挑战遵循一条简单的规则:

  • 接下来100天,每天至少编程一小时。

许多挑战赛参与者还遵循第二条规则(虽然并非强制要求),以帮助建立友谊和社群:

  • 每天至少联系两位也在参与这项挑战的人。

本指南将分享您今天开始挑战的五个最重要的原因,以及十二项基本最佳实践,以帮助您充分利用您的编程之旅。

你为什么应该参加这项挑战

为什么你应该参加“100天编程挑战”

“100 天编程挑战”的最终目标是成为一名更优秀的开发者,并将编程培养成一种习惯。

如果你希望成为一名更加全面、自律和技能娴熟的开发人员,你应该考虑接受挑战。

成为更优秀开发者的五项必备技能:

你会学到东西,也会学会如何学习

“100 天代码挑战”是尝试和学习新技术的绝佳机会。对于已经习惯于日常使用的语言和工具的开发者来说,“100 天代码挑战”是拓展技能、探索新语言、框架和库的有效途径。

在完成“100天编程挑战”的过程中,你将不断提升学习效率和速度,从而增强学习新技术的能力。学会如何学习能让你成为一名更具适应性和多才多艺的开发者。

你会提高自律性,成为一个积极主动的人

别再拖延了,为成功做好准备。如果你想学习编程或掌握一项新技术,那么参与“100天编程挑战”可以提高你坚持学习计划并实现目标的几率。许多开发者都知道,启动新项目并保持动力并非易事;“100天编程挑战”提供了重要的激励措施,帮助你每天坚持编程。

首先,将学习目标设定在100天的期限内,能让你更有可能达成目标,而不会感到气馁。其次,一个结构化且令人兴奋的挑战,能帮助你克服对启动新编程项目的恐惧,并鼓励你勇于尝试新的开发理念。

你将养成良好的编程习惯

连续100天坚持编码,就能将良好的习惯融入日常生活,让你成为一名更稳定的开发者。每天编码都能积累动力,提升工作效率。对于开发者而言,工作效率不仅体现在每一天,也体现在每一分钟。

你还会养成不断学习新事物的习惯。如果你乐于学习新技能,并训练自己成为习惯性学习者,你就会成为一名更有能力的开发者。未来,你将能够不断更新你的开发技能。

你将打造一份优秀的个人作品集

在挑战过程中,您很可能能够完成几个项目;如果您多次完成挑战,就能建立一个令人印象深刻的项目作品集。每天参与项目还能增加您 GitHub 个人资料的活跃度,为潜在雇主留下良好的印象。

作品集可以展示你熟练运用的各种技术以及你深厚的开发技能。但更重要的是,作品集还能展现你的好奇心和学习新技术的意愿——对于许多重视善于利用资源、学习能力强的开发人员的团队来说,这是一项宝贵的软技能。

你将加入一个充满活力的社区

虽然“百日编程挑战”是一项个人活动,但你将得到成千上万其他开发者的支持,一路同行。通过参与 Twitter、Slack 和其他平台上的论坛和讨论,你可以结识新朋友,找到志同道合的人。

无论技能水平如何,所有开发者都可以参加“100天代码挑战”。你不需要任何经验即可参与;你只需要好奇心、自律性和提升自身开发能力的愿望。

12条助你生存(并取得成功)的秘诀

100 天编程挑战的技巧

“100 天编程挑战”只有一条简单的规则需要遵守,但一些额外的指导原则可以帮助你在挑战过程中取得更大的成就。

在规划你的“百日编程挑战”时,你应该认真思考透明度、社区建设以及你希望完成的项目。以下列出了一系列切实可行的最佳实践,希望能帮助你在“百日编程挑战”中取得成功。

1. 做出公开承诺

在任何具有挑战性的项目中,责任感都是重要的激励因素。为了增强挑战的责任感,你的“百日编程挑战”应该从公开承诺每天至少编程一小时,持续100天开始。

许多开发者选择在 Twitter 上使用 #100daysofcode 标签来分享他们的挑战承诺,但你也可以在其他任何平台(例如 GitHub、Facebook、WhatsApp 等)上公开宣布你对这项挑战的承诺,只要你的帖子能被其他人看到即可。如果你不太习惯在社交媒体上发帖,也可以只与一小群同事和朋友分享你的承诺。

当你接受挑战时,也应该分享一个代码仓库或个人博客的链接,你计划在那里记录你的历程(参见“必备工具”部分,那里有一个你可以轻松复制的日志模板)。知道其他开发者会关注你在这些平台上的进展,会让你更有动力去实现目标。

2. 规划你的挑战

如果你在参加“100 天代码挑战”之前制定一个清晰明确的计划,那么你作为开发人员的进步将会更加有效。

在开始编写代码之前,请先决定:

  • 你想学习哪些技术
  • 你想完成哪些项目

提前制定计划有助于你在挑战过程中专注于编码,而不是为选择新项目而烦恼。你的计划不必过于严谨,可以在挑战过程中随时调整,但应该清晰地阐明你的目标以及计划完成的几个项目。

例如,您的计划可以是:

  • 学习如何使用 GatsbyJS,并提高 React 的使用水平。
  • 使用 GatsbyJS 和 React 构建个人博客

你的目标应该表明你已经对你的研究领域进行了一些研究(例如,“我想学习如何使用 GatsbyJS 构建网站”比“我想学习如何构建网站”更好)。“100 天编程挑战”的核心是编程,所以你事先做的规划和研究越多,你的挑战就会越充实、越有成效。

例如,如果你要用 GatsbyJS 构建博客,那么在开始挑战之前,你应该先阅读一些关于 React 和静态网站生成器的教程。你应该提前做好充分的准备工作,这样在挑战的第一天就能自信地直接打开代码编辑器。

3. 选择合适的项目

在整个挑战过程中,你的目标应该是为真实的项目编写真实的代码。

花费在教程、在线课程或其他类似资源上的时间通常不计入“100天编程挑战”的要求。教程过于被动;尝试从消费者转变为创造者。边写代码边学习。

与工作相关的编码不应计入您每天的编码时间。对于许多全职开发人员来说,在工作之余抽出时间编码可能很困难,但“100 天编码挑战”提供了一个机会,让您跳出日常工作项目的局限。如果您对学习新技术感兴趣,但之前一直觉得没有时间或动力去尝试新事物,那么您应该将“100 天编码挑战”视为一次突破舒适区、挑战自我的机会。

“100 Days of Code”是一项允许开发者进行实验的活动。

理想情况下,你应该在挑战期间完成三到五个项目,具体数量取决于你每天的编程时间。轮换着做几个项目可以激发新鲜感,让你更高效、更投入,避免思维停滞在单个项目上。

你需要找到一些“恰到好处”的项目:既要有挑战性,让你保持投入并创造出对你有意义的东西,又不能太难,以免你很快陷入令人沮丧的编码瘫痪状态。

这些项目的具体形式会因开发者而异,但有几点需要记住:

  • 实施更多技术和框架通常会更加复杂和具有挑战性。
  • 不熟悉的技术往往存在隐性成本,制定时间表时应将其考虑在内。切勿低估出现意外问题和复杂情况的可能性。
  • 更流行的框架和工具通常拥有更完善的文档和更多示例项目供您探索。加入强大的开发者社区也能为您节省时间和精力。

如果您不确定如何估算完成项目所需的时间,可以尝试构建一个与现有项目类似的项目。您可以浏览源代码或相关教程,以便更好地了解其复杂程度。“100 天编程挑战”并不要求您必须开发原创项目。

你选择的项目应该有一定的关联性,并且属于同一个领域。例如,如果你在“百日编程挑战”期间专注于前端开发,你可以选择构建四个不同的 React 应用。

“100 天编程挑战”是一项基于项目的练习,因此花时间找到适合你的项目将增加你成功的可能性。

4. 将你的项目公开

如果可以,请将所有项目公开。公开的项目更容易受到监督,尤其是在你发起挑战之前就与社区分享了代码库或博客的情况下。

每天结束时,将你的代码推送到 GitHub(或其他公共代码托管服务)。如果你正在完成交互式练习或开发无法推送到 GitHub 的项目,请将更改提交并推送到你的代码日志(详见下一节“编写代码日志”)。每天推送或发布内容可以强化你的日常习惯,并督促你持续进步——避免你躲在本地更改背后,或者试图篡改代码记录。

将项目公开不仅能简化你的日志,还能帮助你更好地与社区互动。如果其他开发者也能浏览你的项目,你们就能更轻松地进行讨论。不要仅仅因为项目尚未完成就将其标记为私有;公开你的开发过程能让你成为一个更具协作精神、更注重社区的开发者。

此外,公开项目更容易展示,方便您将来建立项目作品集。当您的作品易于查看时,潜在的雇主、朋友和同事可以更好地了解您作为开发者的兴趣和技能。

5. 坚持写日记

开始写日志,并创建一个开放的 GitHub 代码库或博客,让其他开发者可以关注你的工作。

在你的日记中,每天简要描述你的进展。一段简短的文字或几个要点即可概括你完成的任务。务必记录你的成功、挑战和挫折,以便与同样面临挑战的人们建立更紧密的联系。

你的日志可以根据需要正式或非正式地记录。有些开发者选择撰写长篇博客文章,而另一些开发者则每天只记录一些要点。最有效的方法可能是将两种风格结合起来:保持日常更新简洁,但在每个周末(或一周中其他不太忙的时候)抽出时间,写一篇更长、更全面的反思文章。采用混合反思策略,既能确保你不会因为写日志而感到负担过重,又能鼓励你花足够的时间深入思考自己的进展。

最重要的是,每天都要写点东西。

写日记也能帮助你积蓄动力。通过可视化你的进步并记录你所有的成就,你可以不断激励自己,让自己更有动力去克服挑战。

请查看本指南末尾的“必备工具”部分,其中包含一个用于创建日志的 GitHub 仓库模板。

6. 跟踪你的代码

写日记是分享代码经验的好方法,但为你的 100 天代码编写添加量化指标可以增加额外的动力和责任感。

你可以使用简单的计时器来确保每天至少编程一小时。如果你编程时间超过一小时,记录编程时间将有助于你更好地了解自己投入最多精力的项目。根据每个项目所花费的时间,你可以深入了解项目的复杂程度和技能提升情况。

追踪记录还能揭示你在挑战期间的编码习惯是如何演变的。你更喜欢在早上、下午还是晚上编码?你是在周末编码更多还是在工作日编码更多?在“100天代码挑战”的最初几周,你很可能会用来优化你的日常安排。在尝试了不同的策略之后,你很快就会更清楚地了解如何安排时间,从而更稳定地进行编码。

7. 不要漏掉几天

跳过训练日会开创一个危险的先例,并会削弱完成挑战所需的自律性和动力。请尽量不要跳过任何一天。

如果因为不可预见的情况或不可避免的挑战,每隔几周错过一天,也不用担心。只需将错过的天数添加到挑战的末尾,然后尽快继续编程即可。

最重要的是,不要连续两天不学习,否则更容易养成坏习惯。你越早恢复编程习惯,长期成功的几率就越大。

8. 设定合理的节奏

在“百日编程挑战”中,最难克服的通常是倦怠的风险。要连续三个月保持一个新习惯,需要自律和周密的计划来防止失去动力。

就像典型的炒作周期一样,你对挑战的热情会经历一个明显的低谷,此时你最有可能放弃。当你熬过这段低迷期,培养良好习惯并看到它带来的回报时,你会开始体会到它的价值。随着时间的推移,风险也会越来越高。在第99天打破连续编程记录比在第25天打破记录要难得多。

由于动力会有起伏,你需要格外注意设定一个稳定合理的节奏。节奏把控是保持“百日编程挑战”积极性的关键,也能确保你不会过度投入。

参加“100 天编程挑战”的新手有时会在最初几周内编写远超最低要求的代码,从而导致倦怠,然后逐渐减少代码量并退出挑战。

倦怠是由于在长期收益开始显现之前,过快地消耗了过多的热情造成的。

为了避免倦怠,挑战开始时每天至少编程一小时。每天结束时,都要为第二天安排一个令人兴奋的任务。一旦你更好地了解挑战的进展情况,如果你觉得想写更多代码,就可以逐步增加每天的编程时间。

9. 参与社区活动

虽然“100 天代码挑战”是一项个人挑战,但你应该把自己视为一个由其他充满热情的开发者组成的更大社区的一员。

你的编程日志或许能激励他人学习编程。你的项目或许能启发同事加入挑战。你在推特上发布的鼓励话语或许能帮助他人解决难题。

努力成为社区的积极成员,每天至少鼓励两位也在参与挑战的人。如果你还不习惯与其他开发者交流,可以先尝试每天或每周在推特上发布你的进度,并使用 #100DaysOfCode 标签。

强大的社区也会为你的编程之旅带来新的挑战。在任何大型运动中,你都可能忍不住与他人比较。“100 天代码挑战”吸引了来自不同背景和技能水平的开发者;挑战期间创建的项目复杂度也会因开发者而异。选择对你而言具有挑战性的项目,因为“100 天代码挑战”关注的是进步——变化的速度——而不是技能——绝对的衡量标准。要想成为优秀的社区成员,你应该支持那些技能水平与你不同、可能面临不同挑战的其他开发者。

帮助建立一个让你引以为豪的社区,并鼓励其他人互相尊重和支持。

10. 反思

挑战结束后,你应该花时间认真反思自己的历程。在100多天的时间里,你会学到很多新知识,参与很多不同的项目,所以总结你的挑战历程可以记录你的进步,方便你随时回顾。

你可以为访问你网站或 GitHub 个人资料的人创建一个作品集,以此展示你所掌握的技能。即使是一个简单的 Markdown 文件,包含指向你项目的链接,或者一个使用 GitHub Pages 模板搭建的网站,也是集中展示你作品的简便方法。

你还应该写一篇回顾性的博客文章或日记,详细记录你 100 天编程过程中的成功和挑战,以便更好地为未来的更多挑战做好准备,并回馈给下一批刚刚开始挑战的开发者。

11. 进行多轮

完成第一个“100 天编程挑战”后,你就可以开始计划第二轮挑战了。

虽然你应该在每轮挑战之间休息几天进行反思和计划,但继续进行下一轮“100 天代码挑战”可以保持你的动力和连贯性。

每一轮挑战都是学习新技术、积累作品集和挑战新项目的机会。如有需要,您可以根据自己的生活方式调整下一轮的挑战难度,例如更改每日最低编程时间或每周的编程天数。再次开始挑战后,请使用 R#D# 的格式分享您当前的轮次和日期(例如,R2D3 表示第二轮的第三天)。

随着你完成每一轮,你可以开始比较各轮的表现,并尝试不同的工作方式。你是在早上还是晚上编码效率最高?你是否在一周中的某些日子里难以进入编码状态?每天一小时是否足以让你进入心流状态?

在每一轮数据分析中,你都会逐渐了解如何才能更高效、更富有创造力地进行开发。虽然“100天代码挑战”的第一轮旨在为你养成良好的开发习惯奠定基础,但之后的每一轮都会帮助你精益求精,最终充分发挥你的开发潜能。

12. 不要害怕失败

许多开发者都无法完成“百日编程挑战”。就像任何需要养成的习惯一样,这项挑战需要极大的投入、动力和自律。然而,只要勤加练习,任何编程挑战都是可以克服的。

如果100天看起来遥不可及,要知道这个过程可以循序渐进。如果你只连续写了25天就中断了,那就停下来反思一下你遇到的挑战以及可以改进的地方。重新开始挑战,但这次设定一个新的目标:连续写50天。每一次失败都是一次重新开始挑战、调整策略的机会,直到你养成持续编程的习惯。

“100 天代码挑战”的目标是成为一名更优秀的开发者;从失败中学习和承担风险通常是该过程中最重要的步骤。

基本资源

100 天编程挑战的资源

如果你正在考虑接受“100 天编程挑战”,你应该事先做好准备,收集重要的资源,加入社区,并阅读其他人的经验。

社区

随着全球数千名开发者参与“百日编程挑战”,网络上涌现出各种各样的开发者社区。你也应该加入这些社区,看看能从其他开发者身上学到什么。

许多新晋开发者也喜欢使用 FreeCodeCamp,这是一个致力于让所有人都能轻松学习开发的非营利组织。FreeCodeCamp News是一个很棒的资源,提供教程、开发建议和励志文章。

Dev.to是另一个广受欢迎的开发者平台,开发者可以在这里分享资源并讨论软件开发领域的重要新闻。Dev.to 是展示作品和回馈社区的绝佳场所。所有开发者都可以在这里发布文章,因此,如果您希望撰写一篇简短的教程,重点介绍您在“100 天代码挑战”中学到的技能,Dev.to 就是一个理想的平台。

文章和播客

“100 天代码挑战”由开发者 Alexander Kallaway 发起,他一直致力于推动这项挑战在开发者社区的普及和发展。您可以通过这些文章和播客了解更多关于 Kallaway 关于习惯养成、克服阻力和坚持不懈的见解。

灵感

鉴于写日志是“100 天代码挑战”强烈推荐的最佳实践,许多开发者都分享了他们之前的经验,你可以从中学习和准备。不妨看看这些关于“100 天代码挑战”的精彩而真诚的讨论。

必备工具

100 天代码挑战所需工具

要完成“100 天编程挑战”,一台电脑和一个代码编辑器是必备的。当然,添加一些其他工具可以提高你的成功率,并帮助你在这 100 天里学到更多。以下三个工具可以让你的“100 天编程挑战”更加顺利:

  • 日志:在“100 天代码挑战”期间,选择一种媒介来记录你的想法。你可以创建博客、代码仓库或文档来追踪你的进度。“100 天代码挑战”的发起者 Kallaway 创建了一个名为100-days-of-code 的日志模板。Software 也根据本指南中的一些最佳实践创建了一个简洁易用的模板,任何开发者都可以快速部署。
  • 计时器或追踪器:找一个可以追踪你每天编码时长的工具,确保你每天至少编码一小时。你可以使用简单的秒表,也可以选择功能更强大的追踪器,它可以记录你的编码时间,让你看到自己一段时间内的进步。
  • 项目经理:你需要同时处理很多任务,所以要找到一个可以帮助你快速掌握全局并充分利用每天一小时的工具。

对于喜欢使用 Visual Studio Code 的开发者,我们推荐使用“100 Days of Code”扩展程序。借助这款扩展程序,您可以跟踪开发进度、收集里程碑、分享成就并构建自己的代码仪表板。我们希望它能让您的开发体验更轻松(也更有趣!)。

软件 100 天代码扩展

软件的“100天代码”扩展

如果您想要更强大的 Visual Studio Code 工具箱,不妨试试100 Days of Code 扩展包。该扩展包包含:

  • Code Time:一款免费的代码追踪工具。在你的“百日编程挑战”期间,Code Time 会追踪你每天的代码量以及你参与的项目。每周都会自动生成一张代码热力图,显示你每天的代码编写时间。
  • 番茄工作法:100 天编程挑战并不需要每天花费大量时间编写代码,但确实需要专注地进行编码。在代码编辑器中使用番茄钟可以将编码时间分成易于管理的几个阶段,从而帮助您提高效率。
  • 简易计时器:代码编辑器状态栏中的简易计时器,可从预定的时间量开始倒计时。
  • 项目管理器:在活动栏中添加快捷方式,以便您可以快速打开项目并在不同的文件夹之间导航。
  • Todo Tree:如果你每天只写一个小时的代码,那么在兼顾工作或其他事务时,你很容易忘记代码的上下文。Todo Tree 可以帮助你在每天打开代码以参与“100 天代码挑战”时快速恢复代码上下文。Todo Tree 会将代码中的 TODO 和 FIXME 注释整理成一个易于浏览的界面。
  • Markdown All in One:在挑战期间,当你用 Markdown All in One 编写日志时,它可以帮助你格式化 Markdown 文件。如果你想让 Markdown 预览样式与 GitHub 保持一致,还可以尝试安装Markdown Preview GitHub Styling 。

接下来是什么?

完成“100天编程挑战”后该做什么

“100 天代码挑战”是成为更优秀、更稳定的开发者的第一步。

自我量化和自我追踪是自我提升的重要工具。当你思考生活中其他习惯,以及保持一致性和流畅性的重要性时,你应该寻找其他工具和资源来帮助你。

如果你觉得这项挑战帮助你养成了许多良好的习惯,你可以使用类似的挑战模式来实现其他目标。这种名为“ 100 天 X挑战”的模式可以重复使用,适用于任何习惯性任务。官方网站“100 天 X 挑战”列出了一些你可以尝试的挑战,包括写作、阅读、烹饪、冥想等等。

“100天代码挑战”是一种有趣且引人入胜的方式,可以帮助你实现目标并成长为一名更优秀的开发者。你的旅程将会如何展开?

软件团队祝您好运

文章来源:https://dev.to/softwaredotcom/essential-guide-to-the-100-days-of-code-challenge-3b5g