几乎没有人会在“100 天代码挑战”的第一天就放弃。
第一天总是最有趣的。你写下几行代码,感觉自己像个天才,然后在社交媒体上发一条动态:“#100DaysOfCode 第一天打卡成功,写了我的第一个函数!”
第二天的感觉也不错。
麻烦通常在后面。到了第三周左右,新鲜感开始消退。你看着上周写的代码,发现自己几乎看不懂了,而 100 天突然变得无比漫长。
没人会向你展示中间的这段煎熬。在网上,你看到的都是别人的“高光时刻”:连续打卡的截图、充满正能量的动态,甚至还有人在不到三个月内就拿到了 offer。你看不见那段混乱的瓶颈期。在那个阶段,有人选择了放弃,而有人找到了坚持下去的动力。
所以,在开启你的第一天之前,让我们先来聊聊在 Coddy 上进行 100 天挑战的真实体验:每一天的日常、每一个阶段的心路历程。

什么是 100 天代码挑战?
顾名思义,这个挑战非常简单:连续 100 天,每天都写代码!就是这样,一天也不能中断。
这个挑战之所以流行,是因为它解决了一个痛点。很多人在学习编程时半途而废,并不是因为知识太难,而是因为他们没有养成持续坚持的习惯。
100 天挑战通过将“连续打卡”本身设为目标(至少在前期是这样),来帮助你培养这个习惯。
大家通常会遵循以下几个基本规则:
- 每天至少花一点时间写代码,哪怕只有 10 到 15 分钟(哪怕只有 5 分钟也算!)
- 在某个地方记录你的进度,比如社交媒体、博客或私人日志
- 选择一门语言或一个项目,并坚持足够长的时间以看到进步
- 如果漏掉了一天,你要么从第一天重新开始,要么记录下来并继续,这取决于你采用的是哪个版本的挑战规则
你有没有发现,这些规则里完全没有提到你每天需要学多少东西?这是故意设计的。这个挑战的目的不是让你在 100 天内精通一门语言,而是向自己证明:即使在不想动的时候,你也能坚持行动。
在 Coddy 上如何进行挑战
这就是使用 Coddy 的优势所在。你不需要配置编辑器、安装任何软件,甚至不需要纠结去哪里写第一行代码。你只需打开 Coddy,进入 Challenges,然后做两个选择。
第一,语言。目前你可以选择 Python、JavaScript、C++、Java 或 C#(别担心,团队很快会添加更多语言!)。不确定选哪个?挑一个听起来有趣的开始就行,以后随时可以更换。
第二,难度:简单(easy)、中等(medium)或困难(hard)。在第一天,无论你多么想证明自己,选择“简单”都是最明智的决定。

开始挑战就是这么简单。只需两步选择,你就可以开始写代码了。对于 100 天的长期坚持来说,这种极简的体验比想象中更重要!在你和今天的挑战之间,每多出一个繁琐的步骤,就会多一个放弃的借口,而中断往往就是这样开始的。
挑战的几个阶段
如果你和足够多完成(或尝试过)这个挑战的人聊过,就会发现一个规律。这几乎从来不是一条平稳上升的直线,而更像是一辆过山车,伴随着可以预见的低谷。
第 1 到 10 天:蜜月期
一切都新鲜而有趣。你学习语法,构建微型项目,每一次小小的成功都让人充满成就感。这是挑战中最轻松的阶段,主要是因为新鲜感会让你保持兴奋。
第 11 到 30 天:幻灭期
兴奋感开始消退,或者说减少了。概念变得越来越难。你开始不由自主地拿自己和网上的其他人对比,他们似乎学得更快、做的项目更酷、什么东西都能秒懂(顺便说一句,他们可能并没有那么神,但看起来确实如此)。这也是大多数人选择放弃的阶段。
第 31 到 70 天:身份转变期
如果你挺过了幻灭期,有趣的事情就会发生。写代码不再是一件你强迫自己去完成的任务,而是变成了你日常生活的一部分。虽然进度可能依然缓慢,但每天打卡已经不再让你感到精疲力竭。
第 71 到 100 天:信心重塑期
到了这个阶段,当你回头看第一天写的代码时,甚至会怀疑这居然是自己写的。最后的冲刺阶段通常不再是学习全新的概念,而是将你已经掌握的知识应用到更复杂的场景中。这通常也是大家开始动手做真正独立的项目,而不是一味跟着教程练习的阶段。
正常的日常是怎样的
很多人以为 100 天代码挑战意味着每天都要高度专注好几个小时。实际上,这种高强度的方式很容易让你在一两周内就彻底崩溃。
相反,一个可持续的日程安排应该是这样的:
- 有时候:花 10 到 15 分钟解决一个简单的挑战或复习一个概念
- 另一些时候:花 45 分钟到一个小时来构建一个大一点的项目
- 变相的“休息日”:阅读文档、看一段简短的视频,或者只是复习旧代码而不写任何新代码
能运行的文档远胜于只能阅读的文档。 在休息日阅读文档是一个不错的选择。但如果你能直接运行示例并修改它,你理解概念的速度会快得多。这就是可运行文档的核心理念。
最后一项非常重要。并不是每天都需要敲新代码。复习已学知识、修复一个旧 bug,或者阅读别人的代码,这些都算作“坚持打卡”!这些微小且可重复的行动,正是塑造优秀开发者的日常习惯。
为什么大家会在第三周左右放弃?
“如果这个挑战只需要每天露个面,为什么这么简单的事情会让这么多人半途而废?”
答案通常可以归结为以下几点:
- 他们把每天的目标定得太高了(每天两小时听起来很棒,但现实生活总会打乱计划)
- 他们选择了一个自己并不真正感兴趣的项目或语言,仅仅是因为它当时很热门
- 他们没有记录进度的方法,所以即使自己有进步,也感觉好像什么都没发生一样
- 他们漏掉了一天,就觉得自己失败了,于是直接放弃,而不是继续坚持
这些都与智商或天赋无关,而是与你的“系统设置”有关。这个挑战之所以难,并不是因为编程本身难,而是因为培养习惯很难。很多人在开始时,并没有为那些艰难、缺乏动力的日子做好准备。
如何坚持到第 100 天
如果你想大大提高通关的几率,以下几个微小的调整会比单纯靠意志力有用得多。
1. 设定一个低到离谱的底线。 不要承诺自己每天学习一小时,而是承诺每天只学十分钟。状态好的时候,你自然会多学一会儿。状态不好的时候,十分钟也是一次胜利,而正是这种小小的胜利让你的打卡记录得以延续!
2. 选择让你感到兴奋的事情。 如果你讨厌自己选的项目,那么到了第 30 天,写代码就会像受刑一样。选择一门语言或一个项目创意,让你即使在疲惫时,也有那么一点点好奇心想要打开电脑。
3. 在显眼的地方记录进度。 一个打卡计数器、一个可以亲手画叉的实体日历、一条公开的动态,任何能将无形的进步转化为肉眼可见的东西都可以。
4. 提前为“断卡”做好预案。 现在就决定如果漏掉了一天该怎么办。是重新开始?还是记录下这个空档然后继续?提前做好决定,意味着当生活变得一团糟时(因为生活总有出状况的时候),你不会因为一次中断而彻底放弃。
5. 寻找某种监督机制。 这可以是一个和你一起挑战的朋友、一个在线社区,或者一个在你偷懒时会提醒你的应用。当有人或有工具在关注我们时,我们的自律性会大大提高。
到了第 100 天会有什么改变
很多人以为第 100 天会像终点线一样,伴随着漫天飞舞的彩带。
但实际上,那种感觉有些不同,而且更好。
到了第 100 天,很多人会发现:
- 读代码不再像是在破译一门外语,而更像是在……阅读普通的文字
- 以前会让你惊慌失措的小 bug,现在看起来不过是普通且可以解决的谜题
- 他们已经亲手构建了两三个小项目,而不是收藏了一堆只学了一半的教程
- 每天写代码不再是一项挑战,而成了他们自然而然会去做的事
这 100 天的挑战从来都与代码本身无关,而是为了证明:持之以恒的微小努力,每次都能战胜短暂爆发的高强度。 一旦你通过自己的亲身体验(而不是听别人说)明白了这一点,它就会让你终身受益。
在这 100 天里你应该做些什么项目?
在挑战的很大一部分时间里,你可能根本不会去构建一个完整的项目,这完全没问题。在 Coddy 上,每日挑战就是你的任务。选择你的语言,选择你的难度,解决眼前的挑战,让它带你度过最初的几周。
不过,到了中期,一旦基础知识不再摇摆不定,很多人就会跃跃欲试,想要自己动手做点东西。
当这种冲动出现时,不要花一个小时去网上刷各种项目创意,而是问自己一个更好的问题:有什么小工具是你希望它存在,或者你对其工作原理感到好奇的?
以下几个方向非常适合在 100 天的挑战中尝试:
- 一个能解决你生活中实际痛点的小工具,比如记账软件或习惯记录器
- 一个简单的游戏,哪怕是像井字棋(tic-tac-toe)这样基础的游戏,因为游戏会强迫你理清逻辑和规则
- 仿写你正在使用的网站或应用的一小部分功能,看看它的底层是如何运作的
- 一系列互不相关的微型挑战,如果在这个阶段开发一个大项目让你感到压力太大
如果一份完整的清单对你有帮助,可以从针对你所学语言的创意开始。 Python 人员可以参考这 13 个能帮你树立信心的简单 Python 项目。如果你选择了 JavaScript,这些适合初学者的 JavaScript 项目能让你从第一天起就开始动手实践。
这些项目都不需要多么惊艳。关键在于选择一些足够具体的事情,这样你就不至于盯着一个空白文件发呆,不知道从何下手。另外,中途更换项目也是完全可以的。你可以从一个想法开始,几周后当你觉得它太简单时,随着技能的提升,再转向更有挑战性的项目。
你需要每天都学习新知识吗?
不需要,而且如果你对自己有这种期望,很快就会精疲力竭。
有些日子你会学习全新的东西,比如一个你从未接触过的概念。而有些日子,你只需要练习已经掌握的知识,直到它变成你的肌肉记忆。
这两种情况都算数。那些因为不断巩固熟悉内容而显得有些枯燥的重复性日子,往往比那些充满新鲜感、每天都有新发现的日子更能加深你的长期记忆。在今天,这种重复练习尤为重要。当 AI 可以在几秒钟内生成可运行的代码时,你亲自动手进行的实践才是将别人的答案转化为你自身技能的关键。
如果你总是在心里默默计算今天又学到了多少新知识,试着彻底放下这种想法。每天唯一值得问自己的问题是:今天我坚持打卡了吗?
你应该参加这个挑战吗?
另一个值得问自己的问题是:我需要的是一个 100 天的挑战,还是一个能让我每天坚持练习、同时又没有倒计时压力的系统?
这两种方式都行得通。有些人喜欢明确挑战带来的结构感和公开监督;而有些人则更适合培养一个没有终点的持续习惯,这样即使到了第 100 天,生活继续,他们也不会感到压力。
如果你喜欢连续打卡、每日提醒和微型挑战,但又不想在网上大肆宣扬,那么这也是培养相同习惯的一种极佳方式。
100 这个数字并没有什么魔力,它只是一个整数,刚好长到足以培养一个习惯,又短到让人觉得可以实现!
总结
100 天代码挑战的核心其实不在于代码。它是一场披着编程项目外衣的习惯培养实验。
在这个过程中学到的语法固然重要,但真正的胜利在于向自己证明:你能够每天都坚持行动。
做好在第 20 天左右遭遇瓶颈的准备。做好在挑战中期迎来转变的准备,那时写代码将不再是一件勉强的事。做好迎接第 100 天的准备,那时你不会觉得这是一个终点,而是会突然意识到,你已经不再需要这个挑战了,因为习惯早已悄然养成。
所以,如果你正在考虑开始,不要再等待完美的项目创意,也不要再等下一个“完美的周一”。挑一个简单的事情,今天就打开电脑,开始吧。
Share this article
About the Author
Jana Simeonovska
Content Strategist & Writer
Frequently Asked Questions
我必须在网上发布关于挑战的内容吗?
不需要!在网上发布可以帮助一些人保持自律,但这并不是硬性规定。私人日志、画叉标记的日历,或者 Coddy 内置的连续打卡计数器都能起到同样的作用。选择任何能让你坚持下去的方式即可。
如果我漏掉了一天会怎么样?
这取决于你遵循的规则版本。有些人会从第 1 天重新开始,有些人则会记录下这个中断并继续前进。这两种方法都没有错。诀窍是在这种情况发生之前就定好规则,这样就不会因为漏掉一天而像滚雪球一样最终放弃。
我应该选择哪种编程语言?
目前在 Coddy 上,你可以从 Python、JavaScript、C++、Java 或 C# 开始。不确定选哪个?那就选择任何你觉得有趣的语言!你以后随时可以更换,所以你的第一个选择并不是一成不变的。
100 天代码挑战适合完全零基础的初学者吗?
适合。这个挑战是为那些难以坚持的人设计的,而不是为高级程序员准备的。从简单模式开始,每天坚持 10 分钟,让它成为一种习惯。记住,目标是每天都参与进来!
我每天需要投入多少时间?
在忙碌的日子里,最少只需 10 到 15 分钟。有些日子你可能会花更长的时间,因为你正在构建一些东西;而有些日子你可能只需解决一个微小的挑战然后下线。设定一个较低的每日最低目标,是保持连续打卡的关键。
我需要安装任何东西才能开始吗?
不需要。Coddy 直接在你的浏览器中运行,并且已经内置了代码编辑器。你只需打开 Challenges 页面,选择一门语言和难度,然后就可以开始编写代码了。无需配置,无需下载。
我可以在中途更换语言或项目吗?
可以。很多人一开始只有一个想法,随着技能的提升,他们会超越最初的想法并转向更大的项目。中途更换并不是作弊。只要你坚持参与,这就是你不断成长的标志。


