2016-11-29 09:43:59 +0000 2016-11-29 09:43:59 +0000
249
249

作为一个开发者,使用文档会让我看起来不专业吗?

我是一个初级开发者,每隔三个月就在一家软件开发公司工作一次,作为企业学习的一部分。

尽管我已经做了将近1年的编程(3×3个月的工作经验+副业项目),但我在工作期间,我还是经常要查看文档和/或Stack Overflow。我担心这样做会让我看起来不专业,或者比我实际的经验更少(我对设计和构建软件很自如,但经常要搜索一些术语,比如 “PHP/JavaScript函数做XYZ")。在大多数情况下,我应该已经知道这一点,因为我之前已经用过这个,但想在犯错之前仔细检查一下。

问这个问题的原因是,我因为经常使用Stack Overflow/文档而被人嘲笑,这让别人和我自己都怀疑我的能力。对我来说,这是一个自然而然的部分,可以让我更高效地工作,并对语言有更多的认识。有人曾经对我说过这样一句话:"外科医生不能读他的书。"一个外科医生不可能每次给病人做手术的时候都要看他的书。” 这在我看来是无稽之谈,

我也是在为将来的工作要求;比如说,如果我在面试另一份工作的时候必须要写代码,我想你不应该使用文档。

答案 (14)

125
125
125
2016-11-29 13:26:09 +0000

作为一个开发者,使用文档会让我看起来不专业吗?

***_不,实际上是相反的意思………..因为你问的问题并没有打扰到你的前辈,而这些问题在网上或通过文档很容易找到。我也是在问未来的问题,比如说如果我在面试的时候要写代码去找另一份工作,我想你不应该用文档。

63
63
63
2016-11-29 18:43:48 +0000

有人曾经对我说过这样的话: “外科医生不可能每次给病人做手术时都要看书。”

不管是谁告诉你这句话的,都不知道手术是怎么操作的。除非是外科医生练过一百次的非常普通的手术,否则好的外科医生在每一个病人面前都会花大量的时间学习。他们也会在医学院里花很多年的时间来学习一个几千年来没有什么变化的学科。

你是在你的第一年,在这个行业里,每周都有新的方法被发明出来。你的经验不足,所以要经常查资料是应该预料到的。只要你有基础,知道你找到的解决方案是否真正解决了你的问题,并从经验中学习,这没有什么问题。我做了15年的软件工程师,几乎每天都要查资料,仍然需要查资料。一个专业的人利用自己所掌握的一切资源来完成工作。

29
29
29
2016-11-29 12:57:01 +0000

专业性和知识性是完全不同的两件事,

从第三方渠道查东西确实意味着你缺乏知识,而不是缺乏专业性。缺乏知识是一个话题,但总的来说,没有一个人是什么都知道的。

如果你知道自己缺乏知识,并通过从第三方渠道查东西来处理,这意味着你有专业的策略来解决你缺乏知识的具体问题。

不查东西而不知道的东西是不专业的,但这不是你的情况。

进一步阅读一个效应,对比你的 “使用文献的策略"。邓宁-克鲁格效应】(https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect)

24
24
24
2016-11-29 14:39:01 +0000

作为一个开发者,使用文档会不会让我看起来很不专业?

不,记住一些细微的任意细节是在浪费你的资源。你必须记住很多,不管是在PHP中(在一致性方面缺乏一点),还是在一般的Web开发中,如果你熟悉几种语言和十几个框架,你都必须记住很多。

我因为经常使用SO/Documentation而被人嘲笑,这让人怀疑我的能力

这可能不是解决你的任务的最有效的方法。你的同事用过吗?因为查找那些细微的细节可以用IDE的自动完成功能来完成。

如果你的同事们使用IDE的自动完成功能,而你使用Google,那么这可能看起来很不专业–不是因为你在查阅文档,而是因为你的效率低下。

如果你的同事依赖他们的记忆力,而你依赖自动完成,那么你就能在使用你们都不熟悉的框架的任务中完成他们的任务,这在Web中并不罕见。

19
19
19
2016-11-29 16:41:49 +0000

其他人已经提供了可靠的答案,但没有人真正地正视这个问题;黑体强调的是我的:

问这个问题的原因是,我因为经常使用Stack Overflow/文档而被嘲笑,这让别人怀疑我的能力。如果你是一个初级开发人员,你自然而然地就会处于一个等级制度中,在这个等级制度中,别人会测试你,并按下按钮,这也是他们欺负你的行为的一部分。不管他们有没有意识到这一点,这都是正常的。

说到底,世界上每一个人都会使用参考工具来完成工作。Heck,难道律师和医生没有成吨的参考资料和书籍吗?

作为一个程序员,你的工作就是把项目的愿望和代码本身的现实联系起来。你的工作不是死记硬背,如果你真的达到了能记住甚至是可视化的程度,那么恭喜你!但这不是一朝一夕的事。

FWI 我做计算机工作20多年了,只是在过去的几年里,我才可以在不写一行代码的情况下,在脑海中直观地看到解决方案。这是一个人成长起来的技能,不能要求别人按需而为。

16
16
16
2016-11-29 16:00:03 +0000

虽然这不会让你看起来很不专业_于专业的人(绝大多数情况下),但在天真的客户或经理面前,你可能要谨慎使用。就像你,有近一年的编程经验,不确定是否需要专业人士去查资料一样,所以相关经验更少的人可能也会不确定。

事实上,有几次,当有咨询顾问的客户说 “我为什么要花大价钱买一个连代码都不会写的人,而不上网查一下,我就会给其他开发人员辩护”

这种情况很少见,当然我不知道有多少人得到了不好的印象,但还是保持沉默。

14
14
14
2016-11-29 16:08:10 +0000

当然,在不熟悉的情况下,查资料当然不是不专业,

但是,如果你没有保留这些知识,不断地去查同样的东西,,那就可能有问题了。那是低效率的。会让你的速度变慢,这可能是被人嘲笑的原因。你需要把你的专业基础知识学习到不需要每次都去查的地步。

10
10
10
2016-11-29 20:10:41 +0000

阅读文档并把代码写好要比猜测并把它写错要专业得多。特别是像 PHP 这样的语言,标准库的设计很杂乱无章,很难记忆,而且充满了漏洞。你知道吗…..

mail()没有邮件头注入保护功能。因此,用户必须确保指定的邮件头是安全的,并且只包含头,也就是说,千万不要在邮件正文中加入多个新行。这可以通过additional_headers参数来设置,或者在additional_headers中设置一个默认值。

这意味着你的应用程序的行为可能取决于全局配置设置。

当然,你也许可以通过不仔细阅读文档来编写出更多的代码,但这可能不是专业质量的代码。经常检查文档以确保你正确使用语言和库是没有什么可耻的。

7
7
7
2016-11-29 10:20:30 +0000

找出你不确定的事情,可以节省时间,也可以让你检查出更好的方法。当有更好的方法时,只需上网查一查就能找到更好的方法,这样做同样的事情就会被困住,效率低下。

4
4
4
2016-11-30 09:21:58 +0000

“专业 "和 "懂事 "是有区别的。如果有一些信息是我需要知道的,而我可以选择傻乎乎地坐在椅子上被卡住,还是去查文件,那么我就去查文件。这是绝对专业的。

如果这些信息是我这个位置上的知识渊博的人应该知道的,那么查找它可能表明我并不像我应该知道的那样渊博,但这仍然是完全专业的–因为另一种选择是不知道它,也不学习它。这一点(不学习的部分)是完全不专业的。

假设你知道你应该知道的一切,这将是愚蠢的,因为每天都会有一些你应该知道的新鲜事,昨天没有。即使你知道的东西,你怎么知道你的知识是最好的?你去查阅文献资料,看看外面有没有更好的关于同一主题的知识。

很少有我自己想不出来的问题。但是,这需要时间。鉴于可以选择花一个小时自己弄清楚,和用Google的五分钟,花一个小时的时间是不专业的。

4
4
4
2016-11-29 22:24:12 +0000

正如其他人提供的答案,没有什么不专业的事情,尤其是考虑到你是个小辈,尤其是考虑到编程是个大问题,总有一个细节会让你忘记,而且你的任务是让你的代码正确无误。因此,他有时会在网上查找如何解决他的问题。比如说上次,他查了一个web框架是如何架构验证器和错误计数器的,因为他有一个看似相似的功能设计。

这种情况下,你要找的东西太抽象了,互联网上的东西无法帮助你。更糟糕的是,你可能会找到一些看似适合的解决方案,但实际上并不适合,因为它们应用于不同的用例。通过试图抓住一些预制的代码/架构/模式,他或多或少地在我们的基础上注入了一些代码,这些代码可能是有效的,但由于是别人为不同的目的写的,所以很难维护。但是,如果我在更高层次的事情上被卡住了,最好的办法就是找一个更有经验的同事帮忙,你会得到更好的答案。

2
2
2
2016-12-02 12:29:29 +0000

你已经有几个很好的答案了,但是让我补充一下…..

我喜欢使用文档的人,这是你专业性的一个很好的标志。老实说,我很讨厌这种方法。

只有教程吗?

人们经常在谷歌上搜索教程或代码片段,包括SO,而没有参考过文档,这让我很恼火。在我看来,这种行为是一个巨大的陷阱。它导致了一种由半生不熟的、任意的、不系统的 “知识 "助长的编程。那些程序员最终往往会带着很多偏见。像 "永远不要使用git rebase"、"永远不要在SQL中使用not in"、"永远不要做XXX"、"永远不要做YY "这样的小结就来自于此。

我劝你先看看文档/参考资料,然后再去找SO或其他片段,这样才能解决任何问题。如果你的问题很明显是一个bug,或者是一些非常、非常、非常、非常、非常特殊的问题,而这些问题在任何文档中都不可能被处理(例如:,

如果你的问题很容易被文档/API解决,那么我建议你坐下来研究一下你的编程语言/库等,这样你的知识就会变得更加紧密。这在大多数情况下是可以通过阅读包括API引用等在内的优秀文档来实现的(就我的经验而言,我接触过的许多编程语言也是如此)。在我看来,这一点是任何其他东西都无法取代的。

我不觉得阅读,比如说,从头到尾阅读C++的老经典(好的老纸片)、Gang of Four Design Patterns、(在线版的)"编程Ruby "手册、做得非常好的Perl manpages、Git书、某些RFCs、HTML/XML/等规范等等,都是很离谱的。即使是在我的业余时间,我也会做这些,而且坦率地说,我希望任何一个程序员都能做到这一点(显然,这要看他们在做什么)。我也很清楚我(至少在过去几十年里,在我工作过的公司里)是很孤独的。

(注:很明显,你不需要背诵大量的API引用列表,但至少要略过这些列表,看看有哪些是可用的,以及API的 "精神 "似乎是什么。 )

在彻底熟悉了这个主题之后,then是时候看看第三方的代码来寻找灵感了,或者看看旧的SO问题(或者自己提出新的问题)。这时,你的编辑器的自动完成可能也只是已经足够了。而且,你可能很快就会知道你所使用的工具不可能做到的事情,省去了很多无用的搜索。

0
0
0
2016-12-05 01:57:48 +0000

作为一个程序员,你的技能在于你如何能够全面的把握和设计有效的解决方案,而不是你能记住多少个API。我们的目标是正确、高效地完成工作。如果你非要把每一个API和每一个细节都找出来,那么我会说你有些问题。我会期望一个好的开发者能够彻底熟悉所有经常使用的、最近使用的、常规使用的东西,但不会在不经常使用的东西上浪费脑力,因为这些东西可以很容易查到。如果你每天或多或少都会访问 stackoverflow,那不是问题;如果你平时的大部分工作日都在上面,那就是问题了。

-1
-1
-1
2016-12-06 14:36:27 +0000

我因为经常使用Stack Overflow/文档而被人嘲笑

别人对你的看法并不能定义你,他们只定义了他们

作为一个开发者,使用文档会让我看起来不专业吗?

不………..专业的一部分是完成工作的能力。你被嘲笑是因为你的同事们欺负你,而不是因为你做错了什么事。

“外科医生不能每次给病人做手术时都要看书。”

为什么?我对这个论断持怀疑态度,除非有不寻常的时间紧迫性。使用参考资料只需要几秒钟。

如果我在面试另一份工作的时候必须写代码,我想你不应该使用文档

取决于面试的规则,有的允许,有的不允许。特别是,如果是测试,可能会允许。最好的办法是先确认一下!