如何规划和构建编程项目——初学者的正版指南

2025-05-26

如何规划和构建编程项目——初学者的正版指南

这篇文章我考虑了很久,原本想在我的博客上更详细地发布一下。但我觉得它能帮助到社区里的更多人,所以我想分享一个更简洁的版本。

在本文中,我将讲解如何规划和构建一个编程项目。我将向你展示如何分解一个项目,以便你能够开始创建一些很棒的项目,从而提升你的编程技能。

本文旨在帮助编程新手摆脱教程的束缚,轻松创建属于自己的精彩编程项目。如果您也喜欢这篇文章,请继续阅读。

当你刚开始的时候,项目是非常令人生畏的,当你甚至无法重现你刚刚观看的 YouTube 教程的结果而不再看 30 遍时,它看起来就像一座难以攀登的大山🤦‍♂️。

刚开始学习编程的时候,我会开始学习一门课程或跟着教程学习,以为自己理解了一些东西。但是,当我停止学习,尝试重现这个项目时,却发现什么也做不了。

为了克服这个问题,我在热门的reddit子版块r/learnprogramming上发布了我的困惑。我收到的回复都围绕着如何构建自己的项目。这个建议表面上听起来很棒,而且是正确的,但对我来说,问题在于我甚至无法观看教程并重现结果。我该如何构建一个项目?项目比教程高出10个级别,而且当时我的能力似乎远远达不到这些项目。我甚至不知道如何开始,更不用说如何把所有东西整合在一起了。问题本质上是我不知道如何从A点到达B点。

Reddit 用户询问如何构建项目

我在 r/learnprogramming 上经常看到这个问题。像我这样的初学者总是因为无法摆脱教程的束缚而感到沮丧,于是他们寻求建议。然而,他们得到的却是好心的 Reddit 用户对构建项目的回应大加挞伐,却丝毫没有考虑过,如果新手连教程都无法复制,又该如何创建自己的项目呢?在我学习编程的过程中,我见过太多类似的问题和答案。我想,是时候采取行动,回馈社会了。

因此,我在这里写了一篇文章,实际上分解了如何构建自己的项目,以便您可以成为一名更好的开发人员并巩固您所学到的知识。

为了规划和构建一个编程项目,我现在在构建项目时使用三个关键步骤,所以让我们从第一步开始。

步骤 1:定义项目

规划编程项目的第一步是定义它。

当我定义项目时,我会问自己以下 4 个问题:

这个项目是什么?
什么是最小可行产品 (MVP)?
有哪些值得拥有的功能?
项目什么时候能完成?

项目定义示例

举一个简单的例子,假设我们要构建一个计算器应用程序,我们将有一个如下所示的基本项目定义。

计算器应用程序项目

这个项目是什么? ——计算器项目旨在构建一个可在 Web 浏览器中访问的计算器。该项目将使用 HTML、CSS 和 JavaScript 来实现。它允许用户输入数字,并根据他们选择的算术运算计算出这些数字的结果。

MVP 是什么? ——最小可行产品是一个在网络浏览器中呈现的计算器,它可以根据用户输入执行加法、减法、乘法和除法运算,并向用户显示该等式的结果。

有什么好处? ——这个项目的好处是设计计算器的样式,将键盘按下作为输入,而不仅仅是用户点击按钮,并添加更高阶的操作,如“x 的幂”。

项目何时完成? - 一旦所有 MVP 功能都已实现并且计算器已设计好样式,项目即完成。

上面的定义简单明了。如果我妈妈读到它,她就能理解这个项目的意义。她之所以能理解,是因为它告诉你这个项目是什么,你必须构建的MVP功能,有哪些值得拥有的功能,以及什么时候能完成。通过定义项目,你可以让项目变得不那么令人生畏。

一旦有了项目定义,您就可以开始下一步。

步骤 2:创建工作流程

下一步是最简单的。通常这一步可以与第三步合并。但目前我们先将其作为一个单独的步骤来讨论,以便我向您展示如何为您自己的项目设置一个非常基本的工作流程。一旦您完成一次,它就可以作为您其他项目的默认步骤。

您首先要使用类似 Trello 这样的免费工具来管理项目。

为了设置我们的看板,我们需要创建 4 列。

  1. 待办事项
  2. 正在做
  3. 完毕
  4. 错误/不知道该如何处理

上面列出了 4 列的看板

在这些列中,我们将添加卡片。处理卡片时,我们会将它们移至“正在处理”列;处理完成后,我们会将其移至“已完成”列。如果您遇到 bug 或不确定如何处理,我们可以将其移至“bug/不确定”列。

现在我们已经设置好了工作流程,我们可以进入最后一步,这也是我在学习编码时最难解决的一步。

步骤 3:将项目分解为更小的组件

构建自己的项目的关键在于将大项目分解成更小、更清晰的组件。这些小组件就是我们第二步制作的卡片。

这听起来很简单,但我刚开始的时候根本没想到可以做到。我以为大多数开发人员只要开始写代码,项目就会像电影里那样自然而然地完成。我以为这就是我应该做到的。然而,现在我有机会在这个行业工作了,我知道事实并非如此,事实上,一个优秀的开发人员会把项目分解成更小的任务。

estefannie 假装像电影里那样写代码

然而,对于初学者来说,如何将一个项目分解成更小的任务可能很困难。如果你连如何实际构建项目都不知道,又怎么能把它分解呢?

那么您需要做的第一件事就是查看您的项目定义,然后将其分解为更小的部分。

让我们继续使用计算器应用程序示例来制作组件卡:

  • 计算函数 - MVP
  • 获取用户输入 - MVP
  • HTML 用户界面 - MVP
  • 样式用户界面 - sprinkles
  • JavaScript 事件监听器 - MVP
  • 添加计算动画 - 洒水

trello 板上有上面列出的待办事项卡片

您会注意到,对于每张卡片,我们都分配了 MVP 或 sprinkles 标签,这是为了直观地帮助您了解哪些卡片是最重要的,因此哪些卡片是需要首先处理的。

这些卡片最大的好处在于,它们简化了我们现有的工作。这使得项目变得不那么令人畏惧,因为你不是在开发一个庞大而令人畏惧的计算器应用,而是在做 6 个小项目,它们最终会合并成一个大项目。

当你处理一张卡片时,就把它移到“正在做”列。在处理下一张卡片之前,先花点时间让组件正常工作。

但我们还没有完成,我们可以进一步简化和改进我们的工作流程,以确保我们在构建时不会受到项目规模的阻碍。

将每个组件分解成更小的清单

一旦我们有了高级卡片,我们就可以将这些组件再次分解为更小的任务,将这些任务分解为清单,以便我们跟踪我们的进度。

下面的例子只是我的思维方式,你可以根据自己的情况将其分解成更小或更大的项目。让我们以计算函数卡为例,进一步说明如何分解组件。

由于该任务是 MVP 任务,并且我将 MVP 定义为基本计算加法、减法、乘法和除法,因此我们需要将这些功能添加到清单中。

看板卡上的组件清单

现在,我们已经将计算函数卡片拆分成了 4 个可以继续进行的小项目。这比开发一个计算器应用,甚至编写计算器函数(卡片)那抽象又极其艰巨的任务要容易得多。

现在我们可以集中精力,弄清楚如何实现这些功能。在这样做的过程中,我们可以勾选这些项目,这能让我们感受到成就感和进步。等到这四项都完成后,我们就可以把卡片移到“完成”栏,开始着手处理下一张卡片。

从现在开始,我们只需对每张卡片重复此过程即可。这样,你就可以开始构建精彩的项目了。

开始构建您的编程项目

现在你已经掌握了规划和构建编程项目的工具。希望这篇文章能让大家更好地理解构建项目的概念,不再那么抽象和令人生畏。

关键在于清晰地定义项目,设置工作流程,然后将项目分解成更小的部分,最终构建成更大的项目。这样,项目看起来就不像一座需要攀登的巍峨高山,而更像是一架梯子,每一步都能帮助你达成目标。

如果你以后在 r/learnprogramming 上看到有人苦苦挣扎,无法摆脱教程的困境,不要只告诉他们如何构建。要告诉他们如何规划和构建。

规划固然重要,但关键在于行动和构建。所以,继续前进,构建精彩的项目,提升你的编程技能吧!

我发送热门推文,因此请在 Twitter 上关注我,以节省滚动时间,这样您就有更多的编码时间。

文章来源:https://dev.to/peterlunch/how-to-plan-and-build-a-programming-project-a-legitimate-guide-for-beginners-1fll
PREV
你已经是一名优秀的开发人员了吗?优秀的开发人员是什么样的?他们有何独特之处?结论
NEXT
理解 CSS 定位的轻松指南