Language agnostic 我如何找到方法?

Language agnostic 我如何找到方法?,language-agnostic,code-readability,Language Agnostic,Code Readability,这里有一个比较一般的计算机问题。我总是能够遵循编程的逻辑,但是当我开始编写代码时,我总是发现我不知道一些方法来完成我需要完成的事情。当我看到它时,我总是想,“当然!” 如何找到“内置”的满足编程需求的相关方法?我不喜欢重新发明轮子,但我发现很难找到我需要做的事情和我想做的事情。如果你使用MVS,那么它真的很好它通常包含在某种形式的文档中。大多数IDE支持文档格式,并提供自动完成功能。在API文档中搜索。但最好的方法(我发现是这样)是在互联网上搜索多种解决方案,然后选择一个你认为最好的。尽可能缩小

这里有一个比较一般的计算机问题。我总是能够遵循编程的逻辑,但是当我开始编写代码时,我总是发现我不知道一些方法来完成我需要完成的事情。当我看到它时,我总是想,“当然!”


如何找到“内置”的满足编程需求的相关方法?我不喜欢重新发明轮子,但我发现很难找到我需要做的事情和我想做的事情。

如果你使用MVS,那么它真的很好

它通常包含在某种形式的文档中。大多数IDE支持文档格式,并提供自动完成功能。

在API文档中搜索。但最好的方法(我发现是这样)是在互联网上搜索多种解决方案,然后选择一个你认为最好的。尽可能缩小搜索范围。例如,您想实现随机数生成功能,然后像这样搜索“如何在Java中生成随机数?”。

首先尝试谷歌: 你可以使用谷歌搜索你需要的方法。例如,如果我想
在PHP的数组中搜索一个值,那么我就转到Google并键入“”。我一开始就找到了我的工作

然后尝试标准文档: 尝试使用标准文档来搜索所需的方法。例如,如果我的问题与PHP中的字符串有关,那么我将转到文档并找到所需的函数

最后尝试Stackoverflow:
否则,您可以向Stackoverflow询问所需方法和库的问题。你总会得到一条最短的路。

你在这里要求的是做研究的最佳方式。嗯,这很难解释,更难教

然而,这里有一些提示:

  • 去搜索引擎。没有关系 从MSDN这样的地方开始是明智的, 因为它的所有内容都被编入了索引 不管怎样,都是由搜索引擎提供的。 把你的问题说几句 不同的方式
  • 随着你了解更多 关于这个问题,你会学到新的东西 关于它的词汇。用那个新的 词汇表可以做更多的搜索
  • 如果搜索结果为空, 切换到浏览特定的 官员节 您认为最重要的文档 与你正在做的事情最相关。如果没有别的,它将扩大你的视野围绕这个问题,并给你更多的词汇做更多的搜索
  • 最后,如果所有其他方法都失败了,请在StackOverflow上提出一个问题,尽可能清楚地解释您想要做什么 请注意,如果有一个简单的API可以满足您的需要,那么您很少会进入第4步。

    除了上面的内容和答案之外,google和搜索提示证明非常有用

    除此之外,更改搜索条件中关键字的顺序也会按不同的顺序对列表进行排序

    从本质上说,我相信搜索仍然是一门艺术而不是一门科学,最好的学习方法是引用David Reis在上面的回答:“2.当你对这个问题了解更多的时候,你会学到关于它的新词汇。用这些新词汇做更多的搜索。”

    你说:

    突然发现这一点非常令人沮丧 中间有一个“简单”按钮

    试着换个角度看问题。把这些时刻看作是祝福。你刚刚学到了一些东西。你投入了大量的精力,与其认为这是浪费,不如把它看作是正确学习的关键。你——比刚刚偶然发现魔法方法的人更好——真正了解它的用途和工作原理。你真的,真的,明白你为什么需要它,你正确地欣赏它的价值。你永远不会忘记那个方法


    所以这很昂贵,但你学到了一些重要的东西。庆祝并继续前进。

    名称空间、命名约定、自动完成/智能感知

    我假设您正在尝试寻找某种面向对象的API。我在示例中使用.net

    首先,尝试找到一个类,该类可能负责您正在寻找的方法

    示例:如果要“在文件系统中创建新目录”,必须知道(或了解)(在dotnet中)这些类位于名称空间System.IO中:

    这个名称空间包含压缩等子名称空间和文件、路径、目录等类

    第二,你应该知道NamingConventions。Get、Set、Insert、Create等方法都有通用的命名前缀。在类目录的文档中,您将找到CreateDirectory方法


    如果您有一个了解编程语言、类和名称空间的智能编辑器,那么学习就容易多了。在dotnet世界中,此功能称为Autocomplete/Intellisence

    阅读标准库的文档。说RTFM是不合理的。如果编程的每个人在开始编写代码之前都阅读了所有dos,那么就不会编写代码。一个更有用的答案是关于如何做研究的提示。我非常感谢你迄今为止的所有回答。我的挫折主要集中在做一些事情,然后找到一种改变我的程序工作方式的方法。在中途突然发现一个“简单”的按钮是非常令人沮丧的。“是否存在某种方法?”,这不是一个我们的观众乐于阅读的问题。@Nakilon:不管怎样,它可能是方法、库、逻辑或插件。我同意库、逻辑和插件。@Nakilon:几乎相同的步骤:)是的,这就是我过去的做法,尽管我不得不承认php文档的布局很好。我试图找到一些用python翻译字符串的方法,并找到了一些关于“maketrans”和“Translate”的东西,它们非常方便,但我永远不会知道它们的存在。我觉得这是一件非常令人沮丧的事情,因为它影响了你程序的整个设计。不完全是这样,尽管我很欣赏你的步骤。这更像是,我需要把x字符串转换成y字符串——我知道有很长很长的路要走,知道fundam