【IT168 评论】没有人是完全独立的孤岛,每个人都是整体的一部分。——约翰·多恩
对于缺乏编程知识的人来说,完全有可能编写一个网页或小程序。如果在用Google搜索相关示例时幸运的话,可以搜到现成的代码。即使是经验丰富的程序员,通常也会为了节省时间和精力而在网上搜索解决方案。
如果不借助搜索技术、网络及集体智慧,现代化高效编程是难以想象的。因此,搜索技巧对高效程序员变得愈发重要。
现在,我们不需要了解和记住如何解决众多的编程问题,可以采用搜索技术。我们正变得更加高效、高生产力,并能够解决更多的问题。但这是否意味着在构建软件时,拥有好的搜索技巧就足够了呢?本文将讨论,搜索技巧在程序员知识的形成过程中的作用,以及如何高效使用搜索技巧。
知识的类型及它在程序员大脑中如何成长。
有三类知识:
概念知识(为什么、是什么、如果—— 语义上的)——理解软件系统构建过程中的概念、原理、关系及主要方法。根据这类知识,能够找出体系结构或代码必须按特定方式设计的原因,以及从中选择非常好的设计方案的备选方案和逻辑是什么。概念知识,不是指用特定编程语言解决特定问题,而是对问题的长远看法和理解。
用途:对复杂的开放式问题寻找新的解决方案,并创建稳健的软件系统。
收获:学习计算机科学、体系结构以及编程概念,在实际实现和经验的基础上,构建自己的理论。
实践性知识(如何做 —— 过程中的)—— 关于如何解决特定编程问题的知识。这类知识不需要深入理解实现方法选择过程中隐含的概念及基本原理。搜索技术在这里最重要,因为对有限的编程语言问题所采取的特定解决方案,搜索能相对容易的加以共享并说明。
用途:用已证实的和已知的解决方案快速解决问题,而不是每次都重新发明一种新的方法。
收获:搜索现有的解决方案,通过例子学习或提出自己的解决方案并以后对其重利用。