10

编程了一段时间后,我注意到我越来越依赖互联网和 IntelliSense 来完成我的工作。但我想知道在过去一年左右的时间里,这对我的知识有多大影响。但这有关系吗?

例如,我现在更有可能记住,当我需要针对我不了解的对象进行编程时,我将转到 System.Reflection 命名空间,快速查看列表将为我提供足够的详细信息以再次开始。但是,如果您要问我需要哪些课程等,我将很难将它们全部命名。

当人们似乎更多地关注 .NET 框架的晦涩领域的微小细节而不是申请人广泛而多样的知识和经验时,这种记忆问题似乎在面试时表现得更加明显。反正我跑题了。

有没有人认为是时候关闭 IntelliSense 并尝试寻找比互联网的快速修复和变通方法更好的学习方法了?

4

9 回答 9

13

你读过查尔斯·佩佐德关于这个主题的文章吗?里面有一些发人深省的东西。

我不确定你不知道事情的重要性太重要了。是的,这对面试来说是个问题——但这表明面试过程与现实不符。

我当然不建议关闭 Intellisense。编码已经够难了,无需尝试背诵计算机可以轻松告诉我们的东西。

于 2008-12-09T09:56:19.953 回答
6

仅当您计划在没有互联网、同事或 MSDN 的岛上编写一些代码时,Intellisense 才不好。这可能发生在第三次世界大战之后,但我想无论如何我都必须选择新的职业。

于 2008-12-09T09:59:21.477 回答
5

是的。从同样的意义上说,计算器不利于你的乘法速度,手机不利于你的写信和书法。所以,如果你想提高你的记忆力和助记技巧,请记住你所有的 API,但另一方面,如果你只是想编程和完成工作,谷歌和 IS 是你的朋友。

于 2008-12-09T12:29:38.693 回答
3

对于编程中的大多数事情,您知道确切的名称并不重要。重要的是你知道它在那里并且你能够找到它。

Intellisense 是完成这项任务的绝佳工具,它可以让您专注于您的主要任务。互联网也是如此。它是宝贵的知识来源。您只需要确定知识价值的技能。(不是每个网站都有赞成/反对票系统,所以你必须自己做一些思考。)

于 2008-12-09T09:58:55.703 回答
2

我不会关闭IS。思考问题、模式和架构比背诵 API 更有用。如果你不知道一般的 API,IS 将无济于事。如果您大致了解它,它会提高编码速度。

这与询问是否使用记事本而不是VS和R#进行编程是一样的。

于 2008-12-09T09:57:42.213 回答
2

IMO 恰恰相反:通过消除记住细节的需要,代码完成和互联网资源使您可以专注于更重要和更复杂的问题,更多地了解如果需要可以做什么,而不是如何具体做某事。

了解 5 个 API 库的一般功能比了解一个 API 库的确切语法或了解解决不同问题的 5 种算法比了解如何准确实现特定的算法更有用。

于 2008-12-09T10:02:02.640 回答
2

除了智能感知还可以帮助像我这样拼写糟糕和/或有阅读障碍的人。

编辑:为了记录,我来这个问题是因为我读到智能感知对你的钱不利......

于 2008-12-09T10:10:31.283 回答
1

我同意这里的每一个答案。

这并不是说我会关闭 IS 或将自己从互联网上删除。我想我的想法更多是这样的:在这个论坛上提出的大多数问题(如果不是全部)都可以通过在互联网上进行搜索来回答。是否通过搜索 Google 的速度和效率来衡量知识和理解?它是否影响我们的学习方式。

是的,如果我有时间寻找答案,我可以在这里回答所有问题,也许我会学到一些东西,但我不会将自己归类为 Guru。此外,我会觉得我被骗了。

并且以同样的方式,IS 和互联网可以帮助具有扎实理解力的人快速完成工作。它还限制或减慢了编程新手的学习(和理解)以获得这种理解。所以我假设那些已经编程很长时间但学习新技能或技术的人也和那些刚刚开始学习的人有同样的问题。当我第一次开始编程时——不仅仅是在我的 C64 上随机敲击按键——我遵循在线教程并阅读大量内容来完成工作。但是直到我真正离开“完成工作”并开始学习处理器架构、API、内存管理,你明白了,我才真正开始理解。

也许我只是有一种错误的看法,即理解和透彻的知识使一个好的程序员变得更好。

于 2008-12-09T13:00:33.013 回答
1

我认为对于像 .NET Framework 这样全面而复杂的产品而言,IntelliSense 是一个重要工具。字面上有数千种类型,如果不求助于某种帮助系统,任何开发人员都不可能希望记住其中的一小部分。在我看来,最好在你输入时使用它而不是通过 F1 ;)

Microsoft 的 IntelliSense 与框架的设计和 FxCop 等工具相结合,意味着您拥有一个(大部分)一致的开发框架,您可以利用该框架更快地开发自己的软件,并具有更好的组织性。与使用 VB 6 开发相比,这无疑是一个勇敢的新世界,但我认为微软已经站在巨人的肩膀上,并产生了一个优秀的——有时甚至是压倒性的——继任者。

于 2008-12-09T16:14:39.317 回答