如果您想成为高级开发人员,请停止关注语法

2020-05-19 21:00:35

你搬到一个新城市,却不知道最近的杂货店在哪里。

你不会责备自己--这很正常。你只需使用谷歌地图就可以找到它。

在你去过那里几次之后,很可能你就不需要使用谷歌地图了。

其他地方也是如此,比如最近的餐厅或体育中心--一开始,你可能需要使用谷歌地图,然后你就可以自己了解位置,不再需要使用了。

你学会了它们,但这并不是说你故意要记住每一条路,每一条通往特定目的地的可能的路径。

您可能需要在编程语言中使用的某些方法也是如此。

新的软件开发人员可能会因为没有记住足够的语法而感到难过-他们仍然需要参考文档。他们认为这是一个信号,表明他们是糟糕的开发人员。

以下是他们在开始编程之旅时可能会遇到的几个常见问题:

我需要多长时间才能掌握它并在不参考文档的情况下写作?

当他们能够记住一些常用的语法时,他们可能会认为自己变得擅长编程了。

他们得到的印象是,真正重要的是一门语言的数量,或者他们能够记住的编程语言和框架的数量。

为了更好地理解问题,让我们比较一下不同编程语言中查找字符串长度的语法:

如您所见,每种语言或技术都有自己的计算字符串长度的版本。这是一个指标,表明在12个备选方案中记住相同的函数真的很困难。

使用过多种编程语言的开发人员不太可能记住他们过去使用过的所有语法。他们甚至可能从一开始就没有费心去尝试去学习它。

我编写了255行代码,其中包括一个正常工作的服务器和一个客户端。我向谷歌查询了23次,主要是登陆StackOverflow、Netty4网站、GitHub和JavaDocs。如果计算一下,平均每10行代码就有1个查询!我一点也不知道。-乌默·曼苏尔(Umer Mansoor)。

这些招生应该会给你勇气--你不必为记不住句法的每一个细节而感到羞愧。

这可能是许多初级开发人员关心的问题。事实是,你真的没有必要一边走一边记住每一件事。

即使是技术招聘人员也不关心这一点。以下是谷歌一位工程总监对此的回应:

我不仅经常使用谷歌,我还用它来搜索我自己过去写过的东西。

我数不清我在谷歌上搜索编程问题的次数,因为答案在我编写的Stack Overflow页面上可以找到。如果这是一个我已经完全忘记的特别古老的答案,我甚至对自己说,“哇,这个天才听起来真像我!”以及“这个白痴根本不知道他在说什么!”

几个月前,我在Facebook的一个群里读到一篇来自一位资深开发人员的帖子,他提到,当招聘人员问他是否有使用某项技术的经验,而他没有经验时,他回答说:“那只是另一种工具。”

这意味着我过去可能没有机会使用它,但我有信心可以学习它。

我可能不需要花几个月的时间就可以开始工作了。我可能只需要几个小时来阅读它的文档,然后在旅途中根据需要了解更多信息,而不需要记住所有东西。

当你开始你的目的地之旅时,你不会期望所有的绿灯都亮着。你通过当前的绿灯,在红灯处停车。你要等到绿灯亮了再继续。

如今,我们有了新的语言和框架,或者对现有的语言和框架进行了相当大的更改,因此尝试记忆语法既困难又不那么重要。正如一位评论员在一篇博客文章中精辟地指出的那样:

“伟大的工程师知道如何提出好的问题。然而,面试官期待的是活字典。