编程|测试人员对编程天生“恐惧”么?( 二 )


公共代码库类的字典与我们平时的新华字典的用法可不一样 , 公共代码库中每个知识点你需要全部的弄明白 , 你是不是觉得很多?相反 , 这类的学习反而更加简单 , 因为每个固定知识点已经没有任何的歧义 , 你只要理解、懂了就行了、但是有些东西得记住了 , 例如不同容器的特性【数组:有序 , 课重复;集合:无序 , 不可重复等】等等(其中有部分的概念还需要稍大的篇幅去讲解 , 例如:理解多线程、多进程概念 , 线程 , 进程同步 , 锁的概念) , 你不用去记忆 , 你只需按顺序把知识点都理解了即可 。
关于公共代码库你只需要知道某一种知识点有或者没有 , 并且知晓其在公共代码库中的位置即可 , 比如我有一字符串 。 需要用Python获取到该字符串的长度 , 或者扣取字符串中一段子字符串 , 这类小问题属于固定知识点可解决的问题 , 你只要知道好像有这样的固定知识点可以解决这样的问题 , 并且能快速在公共代码库中查找到即可 。
公共代码库只需要弄明白常见的知识点的含义 , 以及别人问题时 , 可以给出有或者没有 , 并且能找出其位置在哪即可 。
有些人可能会问 , 这些我早就看了很多遍了 , 还是无从下手 , 别着急 , 往下看 。
想一想一个复杂的问题是不是由多个稍小一点的问题组成 , 而有些稍小一点的问题又可以分为多个更小的子问题 , 当分解成的子问题已经不能在分之后 , 到了这里 , 这个复杂的问题我们已经知道如何详细的去实现了 , 因为不能再细分的子问题都对应一个个固定的知识点【公共代码】 。
到了这里有些人就明白了 , 这不就是分析问题的能力么?非常好 , 别人能想到该问题的分析方法 , 而我为什么却没想到【没想到与想不到是有差距的 , 主要区别在于每个人对基础知识掌握的广度与深度的不同】 , 你没想到 , 我告诉了你如何的分析方法 ,你就懂了 , 就真正的成为了你自己的东西 , 这类分析方法 , 其实就是经验、思想 , 他与某一个固定的编程语言无关 , 有了经验、思想你学习更多的其他编程语言 , 会得心应手 , 你经常回听到别人说编程语言之间基本上相通的 。
剩下的就是思想经验的吸收 , 何谓思想经验 , 宰之前已经做过解释 , 这里再啰嗦下 , 公共代码库中都是解决一些小问题的公共代码 , 一些负责问题【负责问题也是由多个小问题组成】的解决方法、分析方法就是经验 , 有了固定的知识点作为支撑 , 听别人讲解一些问题的解决方法思想还是比较容易接受的 , 无非就是多看看别人如何将一个大问题分解成多个小问题的过程 , 小问题只需要熟悉公共代码库即可 , 自然而然问题就可以解决了 , 这样才能真正让别人的经验成为属于自己的经验 , 甚至基于你自己掌握公共代码库的广度加以优化 , 能够给出更加合适的解决方法 , 那么这个问题的解决方法上你已经超越了对方 。 思想经验的吸收相对来说就比较容易了 , 看别人代码或者与别人交流 , 只有体会后 , 在遇到时才会自燃而然的想到 。
【编程|测试人员对编程天生“恐惧”么?】