隐性知识
(专业知识、经验及直觉)——基于软件系统实现过程中所积累的个人经验,在大脑中形成的内在知识。通过强大的 大脑功能,隐性知识可以综合并协调其他两种知识。这类知识很难传授,因为它的大部分都存储在我们的潜意识中。在特定环境下,它和直觉一同发挥作用,能够在 经验、对概念性和实践性知识的反馈和评估的基础上,制定最佳决策。
用途:利用自己的专长、经验及直觉来实现最佳解决方案。
收获:构建软件并从结果中学习知识。
实践性知识
(如何做 —— 过程中的)—— 关于如何解决特定编程问题的知识。这类知识不需要深入理解实现方法选择过程中隐含的概念及基本原理。搜索技术在这里最重要,因为对有限的编程语言问题所采取的特定解决方案,搜索能相对容易的加以共享并说明。
用途:用已证实的和已知的解决方案快速解决问题,而不是每次都重新发明一种新的方法。
收获:搜索现有的解决方案,通过例子学习或提出自己的解决方案并以后对其重利用。
可解决实际问题的高效搜索
A. 查找
1. 定义——弄清楚要解决什么问题,并以要查找的内容为焦点。网络上有如此多的有趣的材料,以至于搜索过程能轻易地占掉你全部的工作时间(和个人时间)。
2. 检索(使用标准的Google、代码搜索或其他的检索引擎)—有很多关于如何高效的使用检索引擎的建议。
3. 浏览结果(内容的质量、可信度及专业技术的水平;如果资料的可信度过低,无须再看)-> 阅读 -> 评估(人力物力、所需工具及函数库)
B. 使用
1. 复制代码 - 单独复制(针对这一目的,带有长钉技术的显式单元测试最适合)
2. 清除代码 - 仅保留最小限度、相关性代码,清除解决方案中的其它代码。
3. 在系统中应用代码。
C. 学习
1. 理解——你做了什么及你为什么那样做——从代码和实现中学习。
2. 扩充知识——
a. 实践性知识:解决问题的特定方法、技巧及风格;
b. 概念知识:学习新概念、提炼现有的并构建自己的概念;
c. 隐性知识:明智地使用并学习搜索到的解决方案,经验会自然而然地得到增长。
3. 收集(链接、意见、参考文献、阅读清单)—任何对你今后搜索、发现及学习有用的有趣信息。为这些目标积累知识。
你还有其他高效搜索代码的诀窍吗?欢迎在评论或微博中和大家分享。
免费电话咨询
18955177249