[转]成为高效程序员的搜索技巧

文章做者:纸口杯
本文地址:http://www.y513.com/201102807.html
版权全部 © 转载时必须以连接形式注明做者和原始出处!php

 

对于缺少编程知识的人来讲,彻底有可能编写一个网页或小程序。若是在用Google搜索相关示例时幸运的话,能够搜到现成的代码。即便是经验丰富的程序员,一般也会为了节省时间和精力而在网上搜索解决方案。html

若是不借助搜索技术、网络及集体智慧,现代化高效编程是不可思议的。所以,搜索技巧对高效程序员变得愈发重要。程序员

如今,咱们不须要了解和记住如何解决众多的编程问题,能够采用搜索技术。咱们正变得更加高效、高生产力,并可以解决更多的问题。但这是否意味着在构建软件时,拥有好的搜索技巧就足够了呢?本文将讨论,搜索技巧在程序员知识的造成过程当中的做用,以及如何高效使用搜索技巧。编程

知识的类型及它在程序员大脑中如何成长。小程序

如何使用搜索技巧来成为一名高效的程序员

有三类知识:设计模式

概念知识(为何、是什么、若是—— 语义上的)——理解软件系统构建过程当中的概念、原理、关系及主要方法。根据这类知识,可以找出体系结构或代码必须按特定方式设计的缘由,以及从中选择最佳 设计方案的备选方案和逻辑是什么。概念知识,不是指用特定编程语言解决特定问题,而是对问题的长远见解和理解。网络

  • 用途:对复杂的开放式问题寻找新的解决方案,并建立稳健的软件系统。
  • 收获:学习计算机科学、体系结构以及编程概念,在实际实现和经验的基础上,构建本身的理论。

实践性知识(如何作 —— 过程当中的)—— 关于如何解决特定编程问题的知识。这类知识不须要深刻理解实现方法选择过程当中隐含的概念及基本原理。搜索技术在这里最重要,由于对有限的编程语言问题所采起的特定解决方案,搜索能相对容易的加以共享并说明。架构

  • 用途:用已证明的和已知的解决方案快速解决问题,而不是每次都从新发明一种新的方法。
  • 收获:搜索现有的解决方案,经过例子学习或提出本身的解决方案并之后对其重利用。

隐性知识(专业知识、经验及直觉)——基于软件系统实现过程当中所积累的我的经验,在大脑中造成的内在知识。经过 强大的大脑功能,隐性知识能够综合并协调其余两种知识。这类知识很难传授,由于它的大部分都存储在咱们的潜意识中。在特定环境下,它和直觉一同发挥做用, 可以在经验、对概念性和实践性知识的反馈和评估的基础上,制定最佳决策。编程语言

  • 用途:利用本身的专长、经验及直觉来实现最佳解决方案。
  • 收获:构建软件并从结果中学习知识。
如何使用搜索技巧来成为一名高效的程序员

设计模式(还有架构、领域及其余)是不一样类型知识相结合的有趣的例子:“如何作”的例子,这些例子中隐含的概念及实现过程当中积累的经验。这种知识的表现方式是模式成功及普遍应用的缘由之一。函数

随着愈来愈多的可供使用的实践性解决方案和示例出如今网络上,人们大脑中的实践性知识的价值愈来愈小。咱们不须要记住实践性知识。如今咱们可以处理 软件构建过程当中几乎全部可能遇到的常见编程问题。然而,除可以解决问题的示例或从哪搜索这些示例之外,一名大师级的程序员还知道更多的知识。他可以提出自 己的解决方案,制定大部分最佳决策,并采用最好的方式应用它们。此外,很难在网上找到新的、复杂的、领域性的及特定环境下的问题的解决方案。并且,对全部 重要的软件工程,在制定优秀解决方案的过程当中,都须要高水平的软件开发理论、这些理论的应用经验、对系统的深刻了解、问题空间及环境等相关知识。

所以,在软件开发过程当中,概念知识和隐性知识仍然是很是重要的。在使用搜索技术时,咱们应当努力扩充各类知识,而不是仅仅解决特定问题。随着解决更高级问题的能力的提升,你会取得成功,成为更高效的程序员。

如何使用搜索技巧来成为一名高效的程序员

可解决实际问题的高效搜索

A. 查找

  • 1. 定义——弄清楚要解决什么问题,并以要查找的内容为焦点。网络上有如此多的有趣的材料,以致于搜索过程能轻易地占掉你所有的工做时间(和我的时间)。
  • 2. 检索(使用标准的Google、代码搜索或其余的检索引擎)—有不少关于如何高效的使用检索引擎的建议。
  • 3. 浏览结果(内容的质量、可信度及专业技术的水平;若是资料的可信度太低,无须再看)-> 阅读 -> 评估(人力物力、所需工具及函数库)

B. 使用

  • 1. 复制代码 – 单独复制(针对这一目的,带有长钉技术的显式单元测试最适合)
  • 2. 清除代码 – 仅保留最小限度、相关性代码,清除解决方案中的其它代码。
  • 3. 在系统中应用代码。

C. 学习

  • 1. 理解——你作了什么及你为何那样作——从代码和实现中学习。
  • 2. 扩充知识——
    • a. 实践性知识:解决问题的特定方法、技巧及风格;
    • b. 概念知识:学习新概念、提炼现有的并构建本身的概念;
    • c. 隐性知识:明智地使用并学习搜索到的解决方案,经验会天然而然地获得增加。
  • 3. 收集(连接、意见、参考文献、阅读清单)—任何对你从此搜索、发现及学习有用的有趣信息。为这些目标积累知识。

你还有其余高效搜索代码的诀窍吗?欢迎在评论或微博中和你们分享。

 

文章做者:纸口杯
本文地址:http://www.y513.com/201102807.html版权全部 © 转载时必须以连接形式注明做者和原始出处!

相关文章
相关标签/搜索