Redian新闻
>
我给新手程序员的实用建议 | Linux 中国

我给新手程序员的实用建议 | Linux 中国

科技
 
导读:做一个高效的、充满好奇心的问题解决者吧!这会帮助你成为一名成功的程序员。                   
本文字数:1798,阅读时长大约:3分钟

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

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

把教程付诸于实践

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

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

“问题解决”的工作原理

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

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

3 + 3 = 6 或 4 + 2 = 6 或 5 + 1 = 6

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

8 - 2 = 6 或 12 / 2 = 6 或 3 * 2 = 6

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

练习很重要

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

学习编码

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

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

1. 一个包含语法、方法和函数 速查手册🔗 opensource.com 总能应付不时之需。
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中国 荣誉推出


LCTT 译者 :六开箱
🌟🌟🌟🌟🌟
翻译: 102.0 篇
|
贡献: 158 天
2022-03-16
2022-08-21
https://linux.cn/lctt/lkxed
欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
有了扩展,GNOME Web 正逐渐成为 Linux 桌面上一个有吸引力的选择 | Linux 中国星际战机:配备 4K 10 位 IPS 显示屏的 Linux 笔记本电脑即将问世 | Linux 中国推荐一部新电影 - Good Luck to you, Leo Grande by Emma Thompson神秘的 GeckoLinux 创建者推出了一个新的 Debian 合成发行版 | Linux 中国社区纠纷不断:程序员何苦为难程序员在 Linux 中找到你的路由器的 IP 地址(默认网关) | Linux 中国一个适用于苹果芯片的原生 Linux GPU 驱动程序几乎就绪! | Linux 中国在 Linux 中隐藏文件和文件夹的那些事 | Linux 中国Tuxedo 已对所有用户开放基于 Ubuntu 的 TUXEDO OS | Linux 中国Linux 上静态链接库工作原理 | Linux 中国初级:如何在 Arch Linux 中安装 Yay AUR 助手 | Linux 中国如何在 Linux 中使用 Pandoc 转换文件格式 | Linux 中国写给新手:基金投资中常见的三个误区唐山雷霆风暴 行动取得硕果累累用 ranger 在 Linux 终端管理你的文件 | Linux 中国关于 Linux 和 Git 的创造者 Linus Torvalds 的 20 件趣事 | Linux 中国如何编写 C 程序在 Linux 上创建音乐播放列表 | Linux 中国如何在 Ubuntu/Linux 和 Windows 之间共享文件夹 | Linux 中国Linux 下的 Docker 入门教程 | Linux 中国这份程序员的脱单技巧,千万别让你女朋友看见。诺基亚勒令一个开源 Linux 手机项目 “NOTKIA” 改名字 | Linux 中国用这些开源工具在 Linux 上编辑 PDF 文件 | Linux 中国程序员的骚操作:苹果手表居然能玩经典3DFPS大作《Quake》?Fedora Linux 37 即将正式支持树莓派 4 | Linux 中国又有 Linux 开发者加入微软,这次是 systemd 的创建者 | Linux 中国听钟不该退休的时候退休了如何在 Linux 上动态链接模块库 | Linux 中国在 VirtualBox 安装 Arch Linux 的新手操作指南 | Linux 中国Kuro:非官方的微软 To-Do Linux 桌面客户端 | Linux 中国在 Linux 上玩电子游戏的三种方式 | Linux 中国在 Linux 上使用 Bash 创建一个临时文件 | Linux 中国如何在 Manjaro 和其他 Arch Linux 衍生品上安装 Discord 客户端 | Linux 中国退休后业余爱好之进展检查 Linux 磁盘使用情况 | Linux 中国
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。