只有资深程序员才会告诉你的13条金玉良言

只有资深程序员才会告诉你的13条金玉良言

如果你想得到一些宝贵的建议,请继续阅读。

一旦你熟练掌握了编程,你可能会发现自己变得迟钝了。刚开始的时候,让程序运行起来很有趣,但当你试图创建一些实用、复杂和棘手的程序时,很快就变得费时费力了。

虽然成为编程高手没有捷径可走,但有些事情只有经历过的人才能告诉你。回想起来,在我年轻的时候,前辈们教给我的不仅仅是写代码的方式方法,还有关于编程的态度和习惯。

我将在这里留下我从前辈那里学到的东西,如果将其抽象化,也许一些习惯可以应用到商业中。如果你想了解更多关于编程的相关内容,可以阅读以下这些文章:
Meta正在做上帝的工作:向世界发布令人震惊的优秀编程模型!
畅销编程书籍中的10个编码秘密
Mojo:比Python快35000倍的AI编程语言
作为一个数据科学家/分析师,不要重复这5个编程错误

如果发生错误,请不要惊慌,仔细阅读错误信息

在编程过程中遇到错误是很常见的。我曾以为编程成功了,点击了运行按钮,但结果却没有如愿运行,甚至崩溃了。在这种情况下,我能理解你为什么会想要急切地搜索“xxx无法运行”之类的问题。

但首先要养成阅读错误信息的习惯。如果你阅读日志,你就能大致了解发生了什么。错误消息就摆在那,但只有当你正确地阅读它时,你才能理解它。

即使他们不理解含义,他们也会根据信息推断。在逻辑上确定错误的原因也有助于你锻炼逻辑思维能力。

不要轻信互联网上的信息

我在遇到不理解的东西或者想要创建一个新功能但不知道怎么做时,仍然会去谷歌搜索。如果你不知道如何使用某个资料库,只需谷歌一下。熟练使用谷歌是当下一个必不可少的技能。

然而,仅仅找到一篇文章并不意味着就能解决问题。当我看到有人迷恋某篇文章时,我会说:“即使照着写,也不一定能成功。”有时候,我会迷上某个博客文章,但并不了解官方文档。如果仔细阅读,可能会发现那已经是过时的信息了。

虽然互联网上有很多信息,但并不能保证那些信息都是正确的。我们不能忘记这个毋庸置疑的事实。检查一下文章的发布日期,尤其是技术型文章。可能会有更新的资料出现,表达方式的趋势也可能会发生变化

使用谷歌搜索时,首先阅读并复制粘贴顶部的第一篇文章。而后找到多篇文章,进行阅读和比较,加深理解,然后再考虑你想要编写的代码,写下来。

阅读官方文档

Qiita和博客文章会让你受益匪浅,但有些东西你还是应该先读一读。这是一份官方文档。如果它是一个重要的资料库,那么文档应该是相当可靠的,并且包含必要的信息。

阅读官方文件的确是件苦差事,因为这些文件篇幅很长。但不要着急。因为最终,我常常希望自己能从头读起。

此外,示例代码通常是理所当然的。官方示例可能是最好的参考代码。代码应该是可读的,而工作示例最容易理解。

不要贸然尝试

在修复错误或调试时,避免随意更改。即使做了,也是不得已而为之。此外,如果在成功后不去追问和了解为什么会成功,最终也会遇到麻烦。

如果你只是猜测和尝试,直到成功为止,那就不能再称之为编程了。也许它只是偶然移动了一下。它还可能引入更多意想不到的漏洞。无意引入的错误是令人讨厌的。

编程时,尽量将你的意图融入程序的设计(代码本身)中。理想情况下,你应该以一种别人能读懂并理解你为什么要这么写的方式来编写程序。我未来的自己已经是别人了,所以这也是为了我自己。

在干净的环境中尝试新事物

仅仅阅读文档是很难理解的。当你运行一个程序时,你可能会开始理解代码与程序运行之间的关系。你可以复制示例代码并稍作修改,看看是否能运行,从而加深理解。

通过尝试编写代码来理解这些原理是件好事,但最好不要在你试图创建的程序上进行尝试。例如,如果你想试用一个新的库,请尝试在一个干净的环境中运行它。

如果你一开始就尝试并将其纳入一个庞大的制作程序,你可能不知道为什么它不起作用。在与中心单元分离的小程序中尝试是个不错的主意。

锻炼你发现资料库的能力和辨别力

编程世界需要广博的知识。如今,开源文化已经提供了许多可供搜索和使用的库。在创建一个库之前,要熟悉每一个库是不现实的。

你需要的是你有想做的东西和实现它的知识。如果在开始之前就试图了解和掌握一切,那么你将永远无法开始。相反,最好是在制作过程中磨练自己发现新事物的辨别力。

如果是在GitHub,你可能需要查看最近提交的时间以及star的数量。

获得大致理解的能力

当你研究一些你不懂的东西时,你可能会发现自己越陷越深,不断研究与你应该做的事情无关的东西。同时,根据你的兴趣进行研究和获取知识也是至关重要的。不要失去你的好奇心。

另一方面,如果你不断研究与你正在尝试创建的软件无关的事情,无论你有多少时间,都永远不够。除非你弄清楚自己需要理解多少,否则就没有尽头。特别是如果你以编程为职业,要有意识地控制自己的时间,作为一名专业人士。

此外,获取实现这一目标所需的知识并阅读书籍也是至关重要的。阅读关于软件工程和计算机科学的书籍,以获取背景知识,将有助于你对新技术有一个整体的了解。

不要试图一步登天,从小处做起

任何重要的软件都由许多小程序组成。与其试图一次性完成,不如循序渐进,同时确保它能正常运行。在不断运行代码并最终一次性运行之前,成功地编写代码是具有挑战性的。

即使发生错误,也很难理解问题出在哪里。如果你一点一点地写,运行并检查它是否正常工作,当出现错误时,就会更容易找出问题所在。让程序始终处于“正常工作状态”。

为了避免项目连续几天处于“正在进行中”状态,一次制作较小的单元至关重要。

提交前确保它能正常运行

使用git等版本控制工具是很自然的事,但在将其保存到版本控制工具之前,请确保在提交之前它能正常运行。

例如,在使用集成开发环境(IDE)时,当你创建一个新项目,首先尝试在未编写任何代码的情况下运行它。首先,如果运行正常,最好将其提交到Git,然后不断地更新它。

在提交之前,请检查其中的差异,确保只包含你打算做的内容。

首先,制定一个TODO清单,然后开始工作

就像烹饪有食谱一样,创建程序也有一定的步骤。与烹饪不同的是,每个程序都是独一无二的,所以你不能重复使用食谱,但在开始制作之前,先想想你要做什么,按什么顺序做。

在开始编程之前,最好先列一份TODO清单。列出你从现在开始要做的事情。有了TODO列表,你就可以明确自己的工作内容,从而集中精力,不必担心不必要的事情。

每项TODO只需30分钟到1小时即可完成,你要以时间为单位来列计划。TODO列表不是规范。这只是我自己的一本手册。不一定从一开始就是一个完美的TODO列表。TODO列表是为你准备的,所以你可以随意修改它。

调整写作结构而非从头开始

要编写TODO列表,你需要在脑海中思考程序的结构。在这样做之前,有必要对其进行思考并应用逻辑。

当计算机执行程序时,代码会从头开始逐行顺序执行。然而,源代码的结构是通过抽象其在计算机上执行时的状态而形成的。

即使要创建一个从1数到10并逐行输出和显示的程序,也不必仔细地逐行编写。通过重复这一过程并抽象数字部分,可以缩短代码。简单地说,这就是抽象的意义所在。

如果用脑子想不明白,那就试着画图

如果你想不出要创建的程序的结构或处理流程是什么,试试画图。与编写程序相比,你能更快地将其形象化。

一个很好的开端就是想象实例何时创建,以及如何交换。一旦你能看到实例的移动,你就可以从中提取并思考类。你也可以从相反的方向思考。

那些在你思考时看起来很复杂的事情,在你将其可视化后就会变得简单。即使是在脑中编码,我有时也会出现内存不足的情况。在这种时候,把东西写在纸上对整理思路至关重要。

维护前加载代码

修改运行中的程序时,最好先彻底阅读代码。在只考虑即将编写的代码之前,先了解程序的结构。

在阅读代码的过程中,有时不妨对代码进行重构。如果你阅读并理解了足够多的重构代码,就会更容易想象出维护时需要添加的代码。

最终,你可能会花更多的时间来阅读,而不是实际编写。这样一想,你就会明白保持代码易读是多么重要。专业人员的工作就是写出其他人也能轻松阅读的代码。

如果你想迈出成为专业人士的第一步,请阅读以上建议。感谢阅读!你还可以订阅我们的YouTube频道,观看大量大数据行业相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Josef Cruz
翻译作者:Qing
美工编辑:过儿
校对审稿:Chuang
原文链接:https://blog.stackademic.com/13-golden-advice-youll-only-hear-from-senior-programmers-f7694669bb49