For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
对于缺乏编程知识的人来说,完全有可能开发一个网页或一个小应用。如果运气够好,当你使用谷歌去搜索一些示例的时候,你有可能会搜索到现成的代码,并因此而完成工作。即便是那些经验丰富的程序员,也经常会为了节约时间和精力而去搜索现有的解决方案。
如果没有搜索引擎、网络和集体的智慧,现代化高效的编程技术是难以想象的。因此,搜索技巧对高效的程序员而言,变得越来越重要。
现在,我们不必去了解或记住许多程序的解决方法–只需要搜索即可。我们变得更加高效、更加有创造性,并且能够解决更多的问题。但是,难道这就意味着好的搜索水平就足够去开发软件了?本文,将深入探讨搜索技能在程序员知识形成过程中充当的角色,以及如何有效的使用搜索引擎。
知识的分类
有三种类型的知识:
概念知识(为什么、是什么、如果– 语义上的)–理解开发软件过程中的概念、原理、关系及主要方法。这类知识,可以回答软件体系结构或代码必须按特定方式设计的原因,以及其中的最佳选择和选择背后的逻辑是什么。概念知识,是对问题的长远看法和理解,而不仅仅是指用一门编程语言去解决具体的问题。
用途:对复杂的开放式问题寻找新的解决方案,并创建稳健的软件系统。
收获:学习计算机科学、计算机体系以及编程概念,并在实践过程和经验的基础之上,构建自己的理论。
实践知识(如何做 – 在程序中)——如何用知识去解决具体的编程问题。这类知识不需要高深的概念知识和背后隐藏的理论基础。对于这点,搜索技术显得最为重要;因为编程语言所遇到的问题,以及问题的特定解决方案都是有限的,搜索引擎可以相对容易的共享这些问题和解决方案。
用途:用已证实的和已知的解决方案快速解决问题,而不是每次都重新发明一种新的方法。
收获:搜索已有的解决方案,通过例子学习或自己研究,并且以后可以重复利用。
隐性知识(专业知识、经验及直觉)—— 人们在实现软件体系过程中积累的经验,会在大脑内部形成知识。通过强大的大脑功能,隐性知识可以综合及协调其他两类知识(概念知识和实践知识)。这类知识很难传授,因为大部分隐性知识都存在于我们的潜意识中。在特定条件下,它会和直觉一起发挥作用, 能够在经验、以及对概念性和实践性知识的反馈和评估的基础上,做出最佳决策。
用途:利用自己的专长、经验及直觉来实现最佳解决方案。
收获:开发软件并总结。
设计模式(还有架构、领域及其他)都是结合了多种类型知识的有趣的例子:都是“如何做”的示例,这些例子背后的“概念知识”和实现它们的经验。这种知识的体现形式,正是设计模式成功并广泛应用的原因之一。
随着越来越多的可供使用的实践性解决方案和示例出现在网络上,人们大脑中的实践性知识的价值越来越小。我们已经不需要去记住实践性知识。现在我们能够解决软件开发过程中,几乎所有可能会遇到的常见编程问题。但是,除了能搜索到的示例,以及知道去哪搜索这些示例以外,一名大师级的程序员还知道更多的知识。他能够提出自己的解决方案,制定大部分最佳决策,并采用最好的方式应用它们。此外,对于新的、复杂的、领域性的以及特定环境下问题,是很难在网上找到解决方案的。并且,对所有重要的软件工程,在制定优秀解决方案的过程中,都需要高水平的软件开发理论、这些理论的应用经验、对系统的深入了解、问题空间环境等相关知识。
因此,在软件开发过程中,概念知识和隐性知识仍然是非常重要的。在使用搜索技术时,我们应该去努力的扩展各种知识,而不是仅仅为了解决某个具体问题。随着解决高层次问题能力的提高,你将会成功的成为一位更高效的程序员。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请添加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。