如果你正在寻找“如何学习编码”,那可能是因为你想要提升自己的职业发展或在计算机编程领域发展其他技能。相信我,如果我能够深入这个领域,你也可以。
实际上,任何人都可以通过时间、专注和互联网接入学会编码。如果你正在阅读这篇文章,那就包括你在内。我的编码之旅虽然充满挑战,却是我职业生涯中最有价值的经历之一,我很高兴与你分享这些见解。
目录
- 什么是编码?
- 为什么学习编码?
- 如何开始编码
- 编码与编程的区别
- 编程语言
- 初学编码的技巧
- 我们喜欢的编码资源
什么是编码?
编码是使用编程语言向计算机发出指令的过程。这些指令驱动着人们每天使用的网站、软件和应用程序。
为什么学习编码?
在开始你的第一堂课之前,我建议你考虑一下你为什么想要学习编码。
在我看来,这将帮助你确定你首先学习哪种编程语言,你想要完成什么样的项目,以及最终你想要利用你的技能做什么。
编码有助于培养专业技能。
在我的旅程中,我看到编码如何为我们打开许多机会的大门,不仅仅是在科技领域,还包括其他各行各业。这是一项赋予你创造、创新和以新方式解决问题的技能。
随着技术继续融入我们的日常生活,编码技能将在求职者中变得更加受欢迎 — 根据求职网站Indeed.com的说法,一些最受欢迎的技能属于计算机技术领域。
如果你想要在科技领域转行或在你的领域内转向更加技术化的角色,至少要掌握一种相关的编程语言是必不可少的。
这不仅适用于开发人员。网页设计师应该了解HTML、CSS和JavaScript。项目经理应该了解他们帮助打造的工具的内部运作。
即使你只是运行一个简单的WordPress网站,熟悉前端语言和一些PHP也会大有裨益。
即使你没有追求严格的技术角色,编码经验也是一种资产。它展示了技术知识、理解抽象概念的能力,以及你可以解决复杂问题的能力。
最后,编码知识使你有能力从事自由职业工作或全职职业。
编码可以帮助你赚更多钱。
2022年美国的平均入门级薪资是40,153美元。但程序员的平均起薪是这个数字的两倍多,为85,293美元。
编码技能的财务优势是无可否认的。科技行业以其丰厚的薪资福利而闻名,作为一个转行至此领域的人,财务上的提升是一个重要的动力。
我们之前提到过编码人员和程序员之间存在区别。随着你继续学习编码,你可能会开始专门化。许多最高薪酬的编码工作来自于能够提供特定类型编码技能的能力。
例如,随着你不断编码,你可能会成为一名开发人员。除了编写代码,开发人员还会调试软件和处理源代码。开发人员通常专精于一种特定的编程语言。
开发人员的薪水通常比程序员高,且前景看好。根据美国劳工统计局的数据,到2030年,开发人员的工作岗位应该会增长22%。
编码让你能够创造事物。
学会编码最酷的好处之一是能够将你的想法变为现实。有一个关于网站、应用程序或电脑游戏的概念?现在,你可以按照自己的想法构建它,然后与世界分享。我仍然记得我的第一个成功程序的激动 — 那是一个简单的任务自动化,但感觉就像魔术一样。
无论你想要将项目商业化、在类似GitHub这样的开源平台上发布,还是只是把它当作一种爱好,你都将拥有知识和工具来实现。
知道你能够构建一些直到现在你从未完全理解的程序是令人满足的。此外,项目对于学习和求职过程至关重要。
编码可以帮助你更好地了解周围的世界。
学习甚至只是计算机编程的基础知识将帮助你了解不断增长的技术景观的各个组成部分。
你将对生活中的技术产物有一个全新的视角,对它们如何组合在一起有所欣赏。
编码是有趣的。
这听起来有点俗套,但却是真实的 — 对我来说,学习编码是一种有益且愉快的经历。一旦我掌握了基础并开始进行自己的项目,整个过程就不再感觉像学习,而更像是休闲。毕竟,如果你不喜欢它,为什么要将其作为职业追求呢?
如何开始编码
- 确定你想要学习编码的原因。
- 选择你想要首先学习的编码语言。
- 参加在线课程。
- 观看视频教程。
- 阅读书籍和电子书。
- 使用使学习编码更容易的工具。
- 查看其他人的编码方式。
- 完成编码项目。
- 寻找导师和社区。
- 考虑参加编码训练营。
由于互联网的存在,现在学习编程的时机从未如此美好。但是对于一些新手编程者来说,选择太多有时会在开始之前就让他们停滞不前。
1. 搞清楚你想学编程的原因。
当你开始编程时,很容易就跳进去。但如果没有一个最终目标,你可能会变得沮丧,在进入有趣阶段之前就停止学习。
因此,在你开始学习之前,我想让你考虑一下为什么你想学习编程。思考一下你想完成的项目,为什么这项技能让你兴奋,以及你可以利用的资源。
例如,假设你想成为一名开发者来为你的家人赚取更多收入。你知道想要在哪里工作以及他们需要开发者参与的项目吗?你准备花时间学习编程,学习正确的编程语言,并建立能展示你能力的项目吗?
设定这样一个广泛的目标是重要的,但可能会让人感到不知所措。我建议你从更小、更具体的目标开始。例如,假设你想为一年后要参加半程马拉松的朋友构建一个手机应用。
这个目标将会:
- 帮助你建立所需的技能。
- 让你了解从哪种编程语言开始。
- 设定截止日期,以便在学习过程中管理时间。
2. 选择你想先学习的编程语言。
如果你在考虑从哪种编程语言开始,我建议你考虑你的长期目标。你是为了乐趣编程还是为了在工作中进步?你有灵活的时间表,还是需要赶快完成一个项目?
在我初学阶段,我选择了一种不使用数据结构或算法的语言。因此,对我来说,HTML 或 CSS 是一个很好的起点。但像 Java 和 Python 这样的语言也非常适合初学者,并且有广泛的应用。
有时学习一种编程语言可能需要几个月的时间,所以要花些时间做出这个决定,以确保你的时间得到有效利用。
3. 参加在线课程。
学习编程不再需要在课堂上进行。今天,有成千上万的在线编程课程,涵盖从基本的 HTML 到数据结构再到复杂的算法等所有内容。
你的第一门课程应该介绍一门语言的基础知识,并包含互动模块和任务,指导你的学习。
对我来说,课程为学习创造了一个结构,这一点至关重要,因为计算机科学中的概念是相互关联的。一个有组织的课程使一切易于理解,并确保你按正确的顺序学习东西。
一些受欢迎的免费课程提供者包括:
- freeCodeCamp
- W3Schools
- Scaler Topics
- 哈佛著名的计算机科学入门课程在 edX 上,以及 CS50 YouTube 频道
这些选择非常适合初期确定你是否愿意投入时间学习特定语言。还有很多付费课程可供选择,价格只是传统课堂费用的一小部分。
这些选择涵盖了广泛的初级、中级和高级计算机科学主题:
一些付费服务在你决定之前提供免费课程或试用,以便你在承诺之前先了解他们的教学方式。
4. 观看视频教程。
你可能看过一两个 YouTube 教程 —— 那为何不为编程做同样的事呢?
虽然在线课程是你获得实践经验的最佳选择,但在线视频可以补充你的学习,并满足你的好奇心。我个人喜欢的包括:
两者都涵盖了计算机领域更广泛的主题。
5. 阅读书籍和电子书。
喜欢传统方法?选择一本关于你选择的初级语言的书。书籍会向你介绍基本概念,并指导你的编程。
以下是我为每个初学者语言推荐的一些已经建立的文本。
- HTML/CSS: HTML 和 CSS 新手指南
- JavaScript: Eloquent JavaScript:现代编程导论
- Python: Python 快速入门
- C: C 编程绝对初学者指南
- C++: C++ Primer
- C#: C# 8.0 和 .NET Core 3.0 – 现代跨平台开发:使用 C# 构建应用程序
- Java: Effective Java
- PHP: Head First PHP & MySQL
- Ruby: The Well-Grounded Rubyist
- SQL: SQL in 10 minutes, Sams Teach Yourself
- Swift: Swift 编程:大牛边学边用指南
6. 使用使学习编码变得更容易的工具。
虽然知道写代码不需要任何特殊工具是很好的,但有些工具可以帮助你。
代码编辑器
文本编辑器包含一些功能,使编码更容易,如着色,自动补全,查找替换和暗黑模式。
根据我的经验,大多数专业人士使用代码编辑器。这个工具可以帮助你更快地编写干净的代码。代码编辑器类似于文本编辑器,但它们具有额外的功能,帮助你管理和编辑代码,如:
- 语法高亮
- 代码查找
- 内置终端环境
Notepad++、Sublime Text 和 Emacs 是初学者常用的编辑器。 VS Code 也是一个很好的选择。
控制台
你也应该更好地了解你的计算机。开始编码时,你应该学会如何浏览控制台(也称为终端)。这是你操作系统的基于文本的界面。
控制台使你能够比标准图形用户界面(GUI)更快地找到文件并对其执行命令。熟悉如何使用它,包括基本的 UNIX 命令,因为你将会进行一些在 GUI 中无法实现的操作。
项目管理
许多项目起初很简单,但随着项目的进行会变得更加复杂。使用项目管理工具,你可以共享文件,更新时间表,并拆分编码项目的各个部分。这样可以更容易地跟踪边缘项目和额外文件,同时保持时间表。
故障排除
在编码项目中工作时,你可能会遇到错误、障碍和其他挑战。这可能会非常令人沮丧。 橡皮鸭调试 可能听起来很傻,但它可以帮助你简化问题并找到有用的解决方案。
7. 查看其他人如何编码。
对一些人来说,编辑他人的作品比从空白页面开始创建更容易。如果你也是这样,学习如何编码的一个好方法是查看他人的代码。
查看其他程序员的代码可以激发你的灵感,并推动你的编码技能进一步提升。这种方法将帮助你:
- 更好地理解自己的代码。
- 更快地理解新代码。
- 为你提供质量编码的具体示例。
从你喜欢的程序或代码文件开始。如果不确定从哪段代码开始,请使用 GitHub 和 searchcode。尽量选择经过同行评审的代码或开源项目开始。尝试从一小部分开始逆向工作。这将帮助你理解每行代码的功能。阅读文档也是一个好主意。这样你就可以看到你正在审查的代码背后的思想。
8. 完成编码项目。
通过实践来学习编程 — 没有其他捷径。你可以阅读所有必要的概念和语法来编写功能代码,但除非将所学应用于实践,否则这些理念不会完全在你的脑海中具体化。这就是项目的作用。
项目是用你选择的语言构建的任何程序(或网站)。开始时,保持项目短期化。
如果你正在上课,你可能会被分配旨在巩固概念的项目。还有许多初学者编程项目你可以尝试独立完成。一些经典项目包括:
- 时间转换器,用户提交秒数,你的程序给出相应的小时、分钟、天数等。
- 随机数生成器,产生用户指定的两个值之间的随机数。
- 计算器,用户指定输入和数学运算,你的程序给出输出。
- 地址簿,用户可以提交联系人姓名,然后在你的程序中搜索存储的联系人。
- 字母排序器,用户提供单词列表,你的程序按字母顺序对它们进行排序。
- 猜词游戏,用户试图通过输入字母猜测隐藏的单词,你的游戏根据猜测是正确还是错误给出反馈。当用户猜到你的单词的所有字母时,他们获胜。
快速的谷歌搜索会揭示更多需要将你的技能应用于实际问题的迷你挑战。
编码项目的好处
在练习概念的同时,项目还为你的学习提供了另外两个好处。
首先,它们会让你保持动力。项目有助于巩固编码背后的“为什么”,为你的进步设定清晰、具体的里程碑。每个完成的项目意味着你掌握了更多技能。在我学习的过程中,这种感觉非常鼓舞人心。
其次,编码项目,特别是长期项目,能让你有所成果。在简历上写上“Python”是一回事,展示你从头开始建立了整个网站或应用程序则是另一回事。
项目对于初级编程工作至关重要,因为它们证明了对某种语言的熟练程度。
在编码时保持动力的方法
当开始长期项目时,考虑一下你愿意投入时间的事项。无论是个人网站、移动应用程序还是桌面工具,你在路上会遇到一些阻碍。选择一个你真正关心的项目可以确保你坚持下去。
保持与编码项目相关的另一种好方法是自由职业。你不需要成为专家程序员才能为他人构建有用的工具。与需要工具或网站的朋友、家人或本地企业联系——这是双赢。
9. 寻找导师和社区。
有一个朋友或在线社区指导你对你的学习至关重要。
首先,我建议找一个导师。随着你的进步,你可能会遇到问题,无论你多努力,你都无法解决。这就是导师可以帮助的地方。
导师不一定是实际的老师——他们可以是任何熟悉你所学语言的人。他们应该能够解释困难的概念并指导你找到解决方案。经验丰富的导师可以帮助你遵循教程中未涵盖的编码实践,并为你在科技领域中的职业发展提供建议。
你也可以加入一个社区。寻找你所在地区的本地团体、社交活动和聚会,以及编程马拉松,这样你就能与其他程序员进行面对面的联系。
在线开发者社区对初学者也是一个丰富的资源。
确保查看:
- Stack Overflow,一个用于编程问题和讨论的论坛网站。
- GitHub,一个开源项目的代码库,拥有活跃的开发者社区。
- Women Who Code,一个为追求科技职业的女性组织活动、社区和工作机会的非盈利组织。
- r/learnprogramming,一个供初学编程者使用的子版块(Reddit.com上的微网站)。
10. 考虑参加编程训练营。
编程训练营是一个将全面的编程课程压缩到几个月内的短期培训项目。这些计划进度紧凑、沉浸式,是发展职业的跳板。
编程训练营是密集而昂贵的——不是没有任何编程经验就盲目投入的事情。
这些计划主要面向那些想要从事开发职业并愿意投入时间、精力和金钱迅速获取必要技能的初学者。
尽管毕业生倾向于在科技行业找到工作,但要明白这并非一成不变的结果。你需要留出一大部分时间和积蓄来追求这样的目标。然而,身处与你一样积极的同行和老师所环绕的面对面学习环境确实难以取代。
编码 vs. 编程
编码和编程这两个术语通常可以互换使用,但它们并不总是意味着相同的事情。编码和编程都意味着为计算机编写指令。但编程可能也包括算法和数据结构。通常,编程这个术语描述的是更高级的项目。
尽管你可以只用一台计算机和一些时间来编码,但有些编程可能需要专门的软件工具。编程项目通常更大更复杂。它们可能需要项目管理和更扎实的知识基础。
编程语言
编码需要至少一种编码语言的知识,一组计算机可以理解的语法和规则。有数百种编码语言,每种都在用途和功能上独一无二。
当我第一次踏入编码世界时,各种编程语言看起来令人不知所措。我从HTML和CSS开始,这是一次改变命运的经历。深入研究HTML让我了解了网页的基本结构,而CSS则揭开了样式和设计的秘密。对于像我这样的新手来说,这两种语言是完美的起点,为我提供了对Web开发世界的实践性介绍。
编程语言为你所编写的指令提供了结构。这种语言看起来像英语,但并非完全相同。程序员将编程语言中的术语和语法称为语法。
低级语言(如汇编语言或机器语言)比较容易让机器阅读,而不容易让人理解,因此学习起来可能较为困难。也就是说,像C++这样的中级语言对于想要编写以下内容的人很有用:
- 操作系统
- 数据库系统
- 图像或视频处理软件
高级语言通常更适合初学者。有些更注重结构,而其他一些则更交互,并且可以执行更复杂的功能。
以下是一些适合初学者的最佳语言。尽量只熟悉一种符合你目标的语言,然后如果需要,再探索其他语言。
不过,不要担心选择错误。这些语言共享基础概念,因此你可以从其中一种开始,然后切换到另一种。
HTML
超文本标记语言,或者 HTML,是互联网的基础 — 用于设置网页的内容。当你加载一个网页时,你看到的是浏览器呈现的 HTML 文档。
如果你不确定编码是否适合你,HTML 是尝试的最简单语言。
这是因为 HTML 从技术上来说并不是编程语言 — 它不执行脚本,你也无法用它构建功能性程序。但是 HTML 在网上随处可见,因此如果你想理解互联网,首先需要理解 HTML。
适合对象:渴望进入网页开发并理解网页创建基础知识的初学者。
CSS
你可能对 HTML 的姊妹语言 CSS 不太熟悉。HTML 处理页面上的内容显示,但并不影响内容的外观。
这就是层叠样式表,或者 CSS,发挥作用的地方。CSS 语言处理 HTML 的样式 — 包括颜色、大小、字体,甚至整个页面布局。CSS 也不是编程语言,而是应用于 HTML 的一组规则。
HTML 和 CSS 几乎总是一起使用,所以我建议同时学习两者。否则,你的网页会显得相当简单。
如果你从零开始,就先学习 HTML 和 CSS 吧。
学习 HTML 和 CSS 很容易,主要是因为它们不需要你思考编程语言的计算逻辑。
学习 HTML 和 CSS 也比其他语言更具体,因为你能快速看到代码结果 — 只需创建一个 .html 文件并在浏览器中打开。或者,打开一个现有网站,并使用你的 检查工具 查看底层代码。
但是,如果你希望你的网页有所作为,你将需要…
JavaScript
JavaScript 是一种将静态网页变为动态网页的编程语言。它使页面元素能够移动,对用户操作如点击做出反应,并处理页面上简单存在之外的任何操作。
如果你对网页开发感兴趣,已经了解 HTML 和 CSS,那么 JavaScript 就是下一步。
这三种语言共同构成了大部分网页内容。此外,JavaScript 代码可以在浏览器中轻松测试。
专业提示:专注于掌握 JavaScript 中的 DOM 操作和异步编程,让你的网页更加生动。
Python
Python 是初学者流行的编程语言,因为它具有用户友好的语法和多功能性。
许多 Python 代码读起来像英语,这有助于初学者学习函数等基本概念。
Python 还有许多代码库。这些是一组预先构建的函数,你可以将其插入到你的代码中,而不是自己编写这些函数。使用 Python,你可以构建许多不同类型的程序。许多入门课程也基于这种语言的项目。
我喜欢的地方:它丰富的库和社区支持使 Python 成为初学者和经验丰富的程序员的绝佳选择。
C/C++
C 也是入门课程中受欢迎的选择。它比 Python 更冗长,通常需要初学者编写更多代码来实现相同的功能。这需要更多的工作,但有助于理解抽象概念。通过学习 C,你将掌握可以应用于其他更简洁语言的技能。
C++ 是 C 的后继者。C++ 语法与 C 相似,但增加了对象,这是一种强大的变量类型,使编写复杂应用程序变得更容易。
我建议先从 C 开始,因为需要学习的概念较少,而且所有这些概念都可以映射到 C++。它还会教会你基础的 面向函数的编程。
最适合对象:对系统级编程、游戏开发或对性能要求关键的应用程序感兴趣的人。
C#
C#,也称为C-sharp,广泛用于开发视频游戏、移动应用程序、桌面应用程序和企业软件。C#与C++共享共同的源代码,但是尽管C++和C有许多重叠之处,但C#更像是Java。
C#易于学习,且有多种用法。如果您计划同时使用C++和C#,可能需要先学习C++。这将使理解C#变得更容易,有助于加快学习过程。
Java
Java(不要与JavaScript混淆)是一种通用的面向对象编程语言。与Python类似,Java的语法易于人类程序员阅读和理解 — 往往,复杂的任务可以通过一个命令来处理。
Java在Android移动应用程序中得到广泛应用。它是另一个基础语言,其原则可以直观地应用于学习其他语言。
专业提示:在学习Java时要特别注意理解面向对象编程,因为它构成了其功能的核心。
HyperText Preprocessor (PHP)
PHP是一种用于开发Web应用程序的服务器端、开源编程语言。它可以轻松添加动态信息,如更新的新闻故事,到网站中。
您还可以将这种语言嵌入到HTML中,这样可以在无需外部文件的情况下轻松为您的网站添加功能。PHP也非常适合数据库访问,使得访问和存储数据变得简单。
最适合:想要深入了解Web开发中服务器端方面的初学者。
Ruby
Ruby是一种简单的语言,适用于创建自动化工具、桌面应用程序和快速原型。Ruby还有一个流行的框架,通常被称为Ruby on Rails。
Ruby是另一种开源服务器端编程语言。其框架还为网页、Web服务和数据库提供了默认结构。这使其成为开发Web应用程序的有用工具。
虽然这种语言易于阅读和编写,但可能不是您的第一编程语言的最佳选择。这是因为它也相当灵活,因此很容易接受变化。
灵活性在您初学如何使编码项目运行时非常有用。但随着时间的推移,在维护项目时也可能影响对代码的更改。
我喜欢的地方:由于其“约定优于配置”哲学,Ruby是进行快速应用程序开发的绝佳选择。
SQL
SQL是另一种适合初学者的有用语言。您可以使用这种语言来更新、存储和检索数据库中的数据。根据美国国家标准协会的说法,这也是数据库管理系统的标准语言。
它与其他编程语言不同,因为它在技术上是一种查询语言,因此您不会用它构建网页。
如果您还没有对编程有一定了解,学习SQL可能需要一些时间。尽管如此,这种语言在技术界和数据专业人士中很受欢迎,因此在工作场所有很强的相关性。
我喜欢的地方:SQL用于涉及数据存储和检索的项目,这使其成为Web开发人员必学的语言。
Swift
如果您想学习编码以创建苹果设备的项目,那么Swift是一个很好的起点。苹果的设计师们专门为初学者创建了这种语言。如果您的主要目标是为iOS设备开发移动应用程序,那么这应该是您的首选语言。
自2014年以来,程序员们大多使用Swift创建了大部分产品,但您可能还想学习Objective-C。
开发者们在20世纪80年代创造了这种语言。他们的团队大多使用它构建iOS工具。它使用了一些C语法,因此如果您已经学过C或C++,可能会想在学习时从Objective-C开始。
最适合:任何渴望为苹果平台开发应用程序的人。Swift的现代功能和安全性使其成为iOS应用程序开发的首选语言。
初学者编码技巧
作为不久前踏入编码世界的人,我理解学习编码时带来的兴奋和忧虑的复杂感受。有许多方法可以学习编码,有些方法和语言对您可能比其他人更有效。
无论您是如何学习的,但请记住这些初学者提示:
1. 要有耐心。
在本文开头,我说任何人都可以学会编程。但是,这并不意味着容易。
编程要求您以前所未有的方式解决问题。某些主题对您来说可能毫无意义,但对您正在学习的语言至关重要。最初看起来很容易的问题在实现时会变得比您预期的复杂得多。您可能会花几个小时努力完成一个任务,却看不到结果。
我们不能忘记调试。您很快会发现计算机非常挑剔,它只会完全按照您告诉它的方式执行。像缺少分号或错误的运算符这样微小的错误会破坏您的整个程序,您必须找出问题的罪魁祸首。
即使是初学者的编程也不容易。
所有这些可能会让人感到不舒服和沮丧,但没关系。请对自己好点,缓慢而稳步地进步,给自己时间让所有知识渗透。
最优秀的程序员曾经也身处您现在的位置,每个人都必须学习相同的东西才能起步。要对自己宽容,坚持您设定的目标,休息一下,一切都会好起来的。
2. 熟悉基础知识。
学习编程语言的早期阶段都是关于基础知识的。您可能会从学习二进制、数据类型以及如何在控制台打印开始。从那里,您将探索诸如:
- 变量。
- 函数。
- 条件逻辑。
- 数组。
- 对象。
在进阶之前,完全掌握这些概念至关重要。这是因为计算机科学中的每个知识点都建立在前面的主题之上。
如果有些东西不清楚,请继续复习直到理解。不要假设在未来课程中它将变得清晰。如果您是在教程中学习,请确保理解每个活动的目的。
完成所有练习,亲自体验每个主题如何应用于编程。保持耐心 —— 在掌握基础知识之前,您无法开始进行雄心勃勃的项目。
3. 从一开始就编写整洁的代码。
这是在线课程可能不会教给您的一点:除了学习如何编写代码,您还应该练习编写高质量的代码。
这意味着什么?对于任何给定的计算,都会有多种编程方式。您应该始终努力以最简洁且易读的方式编写代码。
开发人员通常是团队合作,因此其他人经常会阅读您的代码。如果很难解释,其他开发人员就不愿意与您一起工作。
即使您决定自由职业,编写整洁的代码也可以确保您理解自己的代码。现在就养成整洁编码的习惯是明智的,因为这将节省您数小时,以后再看自己的工作时解密将变得轻松得多。
为什么整洁的代码很重要?
您可能想知道为什么此刻需要学习整洁的代码。您是初学者,那么编写功能性程序是否应该是主要目标?
是的。这是为了早期养成良好的习惯。如果您现在额外付出努力,将来将节省自己(和他人)一些理智。
实现这一目标的好方法是保持代码行和函数短小。我建议将每行代码限制在80个字符以内,每个函数不超过15行。
尽管刚开始限制,这些规则将训练您倾向于高效的代码,而不是第一个想法。
此外,养成注释的习惯。注释是计算机不处理的代码段,因此您可以在其中编写任何内容。
程序员使用注释来澄清代码的目的。了解注释在您的语言中的工作方式,至少在您的函数顶部留下解释每个函数工作的注释。
4. 搜索是您的朋友。
使用Google查找编程问题的解决方案没有任何耻辱。事实上,专业开发人员经常这样做。
如果遇到困难,可能已经有人遇到过相同情况并向论坛提出了问题。通过非常具体的查询,您会惊讶地发现有多少解决方案。
而且,当终于解决一个顽固的错误后,关闭20个Stack Exchange标签页的满足感也是相当不错的。
我们喜欢的编程资源
Coursera
Coursera是一个很棒的资源。他们有来自Google、IBM以及各大学的许多编程课程。您可以通过他们的月度订阅获得许多付费课程,但他们也提供免费课程。
Coursera还可以根据每门课程提供财政援助。如果获准,您可以免费访问付费内容。值得一提的是,通过这种方式授予的访问权限仅限于有限时间。如果您数月不接触一门课程,您可能会失去访问权限。
Coursera还提供像在课堂环境中一样的待遇。这意味着您每门课都有一个导师可以向他寻求帮助,以及其他正在上课的学生。您还可以获得专业认证,有助于推动或改变您的职业。
MDN Web Docs
如果您在进行Web开发,MDN Web Docs是文档的黄金标准。这里涵盖了与HTML、CSS和JavaScript相关的一切。该网站属于Mozilla基金会,您可能知道他们的流行网络浏览器Firefox。
MDN Web Docs 还有许多教程,从完全初学者到高级水平。
Codecademy
Codecademy 极适合立即开始编写代码。它提供了小而易于消化的任务,以及一个沙盒供您使用。他们提供几乎涵盖您能想象到的每种编程语言的课程。
他们的大部分内容是免费的,尽管他们也有付费的指导项目和职业路径可供选择,以及职业服务和专业认证。
The Odin Project
The Odin Project 是一个面向网络开发的开源全栈课程。他们有两条路径,一条使用 Ruby on Rails,另一条使用 JavaScript(配合 React 框架)。
提供的信息量有点庞大,但 The Odin Project 最好的地方在于,最终您将拥有许多真实项目,以磨练您的技能,并在最后向潜在雇主展示。
W3Schools
W3Schools 拥有大量涵盖典型编程语言、框架以及 SQL 和 HTML 等其他语言的教程。他们还有许多示例代码供您在编程中使用和参考。
最好的部分是一切都是免费的。他们也有一些付费认证,尽管关于这些语言的所有实际信息都可以随时获得。
Stack Overflow
Stack Overflow 是开发者们非常受欢迎和有用的网站。人们在这里提出编程问题并获得反馈。然后,答案通过投票确定最佳解决方案。即使您不再是初学者,您也可能会经常回到这里寻找各种问题或疑问的答案。
社区非常活跃,公共平台是免费的。您只需创建一个帐户即可与其他人互动。
编程不仅仅是代码。
最后,我想分享我在第一门计算机科学课上得到的一条宝贵建议。从初学者的角度来看,学习编程似乎意味着学习如何编写代码。
这是有道理的:当我们想象一个计算机程序员时,我们会看到某人在计算机上编写代码 —— 毕竟它叫做“编码”。
但一旦您开始学习,您会发现这并不是全部。您将花费更多时间考虑要写什么,而不只是写下来。
编程是解决问题。
这是因为编程更多地关乎解决问题,而不仅仅是了解语法。学习编程就是学习以计算机的方式思考,将问题分解为组件,并用您拥有的工具来解决它们。
因此,是的,您将学会编写一些令人印象深刻的代码,并最终构建出惊人的东西。但首先,您将培养能让您达到这里的思维技能。
在我的编程岁月中,这种解决问题的方法改变了我处理技术挑战的方式,也改变了我处理问题的方式。希望您也有同样的体验。继续前进。你行的。
编辑注:本文最初发布于 2020 年 12 月,已更新以确保全面性。
本文内容翻译自原始文章