<p>有不少程序员在开发项目的过程中会遇到一些难题,这个时候他们一般会用百度或Google搜索相关问题的答案,幸运的话还可以搜到现成的代码。开发过程中效率最重要,即便是开发经验非常丰富的程序员,为了节省时间和精力,也会在网上搜索相关的解决方案。幸运的是现在的网络资源丰富,使得编程变的非常的高效。但是,怎么使用搜索技巧成为一名高效的程序员?有些知识是无法通过搜索来获取的,下面我们来了解下编程的三类知识,一是概念知识——掌握软件系统构建过程中的概念、原理、关系和主要的方法。依靠这类的知识,能够找出体系结构或代码按特定方式设计的原因,概念知识,不是指用某种编程语言解决某种问题,而是对问题常远的看法和理解。二是实践知识——这类知识不需要深入理解实现方法选择过程中隐含的概念及基本原理。搜索技术在这里最重要,因为对有限的编程语言问题所采取的特定解决方案,搜索能相对容易的加以共享并说明。三是隐性知识——基于软件系统实现过程中所积累的个人经验,在大脑中形成的内在知识。通过强大的大脑功能,隐性知识可以综合并协调其他两种知识。这类知识很难传授,因为它的大部分都存储在我们的潜意识中。在特定环境下,它和直觉一同发挥作用,能够在经验、对概念性和实践性知识的反馈和评估的基础上,制定最佳决策。我们不需要记住实践性知识。目前我们能够处理软件构建过程中几乎所有可能遇到的常见编程问题。然而,除能够解决问题的示例或从哪搜索这些示例以外,一名大师级的程序员还知道更多的知识。他能够提出自己的解决方案,制定大部分最佳决策,并采用最好的方式应用它们。此外,很难在网上找到新的、复杂的、领域性的及特定环境下的问题的解决方案。而且,对所有重要的软件工程,在制定优秀解决方案的过程中,都需要高水平的软件开发理论、这些理论的应用经验、对系统的深入了解、问题空间及环境等相关知识。所以,在开发过程中,概念知识和隐性知识仍然是非常重要的。在使用搜索技术时,我们应该扩充各种知识,而不仅仅是解决特定问题。随着解决更高级问题的能力的提高,你会取得成功,成为更高效的程序员。搜索方案,首先要清楚解决什么问题,并且以要查找的内容为焦点。然后是搜索,通过关键字查找需要的内容。最后是浏览结果(内容的质量、可信度及专业技术的水平,如果资料的可信度过低,无须再看)——阅读——评估所需的人力物力、开发工具。复制代码-单独复制(针对这一目的,带有长钉技术的显式单元测试最适合),清除代码-仅保留最小限度、相关性代码,清除解决方案中的其它代码。在系统中应用代码。对已成功应用的代码进行理解,学习多了,概念知识和隐性知识自然也会得到增长。</p>