我给新手程序员的实用建议
创始人
2024-03-02 12:04:59
0

做一个高效的、充满好奇心的问题解决者吧!这会帮助你成为一名成功的程序员。

你是否曾经遇到过这样一种情况:你想解决一个问题,并且你在 YouTube 或 Google 中找到了相关的教程。嗯,你觉得看会了,可真做起来,却止步不前,大脑一片空白。你感觉自己每一行代码都看懂了,可一旦离开了那个教程,就步履维艰。如果你在 HackerRank 或 LeetCode 上看过别人的解题过程,你就能体会到,一个有追求的程序员第一次看到这些挑战时,他会是何种感受。举例来说,假设你正在学习一门新语言,在你刚开始理解这门语言的基础知识的时候,你看了一个教程,摩拳擦掌,结果发现自己无法独立应用学到的知识,这反过来可能会导致你怀疑自己的知识和能力。

把教程付诸于实践

你应该从头开始吗?如果你这么做,你可能很快就会发现自己重复学习了很多次相同的知识点。虽然从头开始并不一定是种浪费,但是,你该如何变得更高效呢?

死记硬背在编程中完全是行不通的。话虽如此,但你也不能够忽视熟悉语法的重要性。因为,死记硬背和养成习惯之间是有明显区别的。习惯是很难打破的。要养成多使用编程语言的常规语法、函数、方法、模式、范式和构造的习惯,这样你才能掌握它。掌握一门编程语言需要大量的创造力和练习。练习语法是非常必要的,直到它们能在你的脑海中自然地浮现,就像血液在血管里流动一样。

“问题解决”的工作原理

那么,你该采取什么样的方案呢?这实际上取决于许多因素。这些因素可以是任何东西,下至技术限制,上至用户需要。世界上有无数的问题,每个问题都有许多解决方式。如何选择一个最好的?这就需要 “问题解决” problem-solving 的技巧了。

下面是一个简单的例子。你需要把两个数相加,让它们等于 6。显然,你有多种方式可供选择:

3 + 3 = 64 + 2 = 65 + 1 = 6

同理,如果你需要让两个数字,经过一次减法、乘法或除法运算后,得到的结果为 6。你仍然有很多选项,包括:

8 - 2 = 612 / 2 = 63 * 2 = 6

每种方案都有它固有的限制,且各不相同。当你在现实生活中尝试做出一个高效的方案时,你必须要考虑到所有的限制。这个方案可行吗?有什么障碍吗?有可操作性吗?是否可扩展呢?而如何最小化约束,并做出一个最优方案,就取决于问题类型和业务需要。

练习很重要

编程的目标不仅仅是解决问题。因此,从工程视角理解代码如何工作始终是一个优势。这就是代码审查在企业级开发中发挥作用的地方。编程的最低要求是具备基本的编码知识,包括语言的语法、函数和方法。归根结底,“写代码”是需要你去的,所以练习总是有助于提高你的技能。流畅的写作和复杂方案的开发都来自于持续的学习和训练。

学习编码

我撰写和分享这篇文章,是为了鼓励新程序员去探寻自己的内心,寻找那个“优秀的问题解决者”。请不要停止相信自己。

要成功编码,你需要培养许多习惯。下面是我在学习编码时保持高效的方法:

  1. 一个包含语法、方法和函数 速查手册 总能应付不时之需。
  2. 将问题分解成更小的部分,便于追踪。
  3. 尝试理解代码运行的核心概念。
  4. 构思解决方案时,大可发挥你的创造力 —— 但刚开始还是要注重基础。
  5. 在练习时,创建尽可能多的应用和组件。
  6. 永远不要从 Stack Overflow/Exchange 等开放平台上复制/粘贴代码,特别是在不了解上下文的情况下。
  7. 跟着教程做了一遍后,尝试从头开始构建所有内容。即使你只能独立完成一半,那也仍然是一个成就。

祝我们所有人好运!


via: https://opensource.com/article/22/8/coding-advice-new-programmers

作者:Sachin Samal 选题:lkxed 译者:lkxed 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

别被外表骗了:KDE 桌面...
核心结论:KDE Plasma 桌面同样漂亮,但两款发行版定位不同...
2026-05-21 03:37:42
看完背后冷汗流!研究:先拥...
快科技3月7日消息,最近Anthropic发布了《AI 对劳动力市...
2026-03-07 09:49:30
每天看AI新闻不叫懂AI,...
时间来到2026年。AI已经不再是一个新鲜词,但对于大多数人和企业...
2026-02-25 20:19:16
国产AI春晚炸场!GLM-...
昨天晚上,智谱GLM-5 开源发布,算是打响了2026年AI春晚的...
2026-02-12 18:49:10
被AI偷走的成长,为什么你...
现在突然多了很多“AI焦虑症患者”。 朋友圈里,有人说“ChatG...
2026-02-06 19:48:44
Linux之父自爆:近20...
“过去将近 20 年里,我其实已经不是程序员了。” “至于我发明...
2026-01-26 10:51:02

热门资讯

“Linux 中国” 开源社区... 这是一个艰难的决定 —— 这不是调侃,而是当你真正做出改变了你十几年生活轨迹的决定时,你就会明白这个...
硬核观察 #1263 德国铁路... #1 德国铁路公司招聘 Windows for Workgroups 3.11 管理员该职位要求了解...
人工智能教程(七):Sciki... 在本系列的 上一篇文章 中,我们用 TensorFlow 构建了第一个神经网络,然后还通过 Kera...
关闭 WSL 中正在运行的 L... 以下是使用 WSL 关闭在 Windows 内运行的 Linux 系统的不同方法。你使用 WSL 在...
MX Linux 23.2 “... 最新的 MX Linux 23.2 小版本更新带来了基本的改进和新增功能。MX Linux 推出了 ...
硬核观察 #1262 网络上最... #1 网络上最古老的软件存档库之一即将关闭美国新墨西哥州立大学(NMSU)最近宣布,即将于 2024...
如何在 RHEL 上通过绑定配... 在 Linux 中,你可以根据自己的需要创建高级网络设置,如 网络绑定 Network Bondin...
Linux Matrix 消息... Matrix 用户可以升级 Fractal 6 了!Fractal 是目前 最好的 Matrix 客...
如何通过 VLC 使用字幕 使用 VLC 媒体播放器播放和管理字幕的新手指南。我是一个超级动漫迷,如果你想观看最新的剧集,那么你...
硬核观察 #1261 X 计划... #1 X 计划在奥斯汀建立内容审核总部据报道,该部门将招聘 100 名全职员工,将主要关注 CSE ...