前面有朋友留言问:测试人员怎么
学习编程?
51Testing软件测试网wbL|8G:P\;@/H
W` 今天有空,就这个问题说说我的看法与办法.这里多写几句题外话,我处理任何事情都有一个套路,就是首先搞清楚目的,为什么要做这件事情,如果目的不明,那么会给后期的执行和评估造成很多麻烦,导致执行不下去.接下来就是评估要做这件事情需要的条件,这里的条件可以考虑为各类需要使用的资源,人,物,时间,空间等等.接下来制定一个粗略的计划,将这些条件填进去,看看可行性有多少;接下来制定比较详细的计划,评估每一步的可行性,然后开始执行,知道结果出来为止.
51Testing软件测试网4V1{ ||#~+e 说到编程学习,得先考虑为什么学习这个,目的在那里?为了兴趣,还是为了
生活更美好,为了成就感,为了拯救地球,为了维护宇宙和平等等.我说说我自己的目的,就是为了在
测试工作中能够减少自己的工作量,并且能够快速定位引起缺陷的具体情况.
X X)A fYQiQ?/h0 第二步,挖掘条件,首先是自己的主观能动性,我们能不能持之以恒的去做这件事情,没有条件,创造条件都要上.对于一个想要学习的人来说,天下没有困难,只有你想不想学的能动性.所以各种以条件不足,物资缺乏为借口的人可以在这里打住了,后面的内容没有意义鸟.想继续的,一不怕累,二不怕苦的请继续往下读.
"VUU&Y1XkQM0 第三步,选择一门语言,这个可是我们要干掉的目标,所以一定要选择清楚,否则后果自负啊,这里我根据自己的认识简单介绍一下:贴近系统底层的:汇编,C,C++,难学难用,火力强大,核武器级别的.面向企业开发的:java,C#,C++(为什么这里也出现呢?),delphi;web页面开发:javascript,vb.net,php等;脚本语言:python,ruby,lua,vba等;shell语言:Tcl,perl等,在这些里面没有最好,只有最合适.当然在这里我还是得推荐一下,首选
java,有以下优势:语法带有强制性,形成好的开发习惯很重要;学习资料多,很多人学习嘛,自然有很多资料供参考;类库丰富,延续性强;进可以做企业开发,退可以写写测试脚本和小工具;可以浅学,也适合深挖;其次:python,入门简单,语法灵活,太灵活了,所以可能导致坏的编写习惯;开源,可以看源代码,可以去膜拜一下大牛.大了可以写软件,小了可以当计算器;就一个字:方便;
51Testing软件测试网p;j2`:Q%k&I`1i,Y;W.U cf 第四步:选择了语言之后,接下来要计划怎么学习了,首先,安装一个编写环境,这是必须的,光看书没用,我们又不是王语嫣那种神童;我们的操练,所以必须安装开发环境,所以这里就开始了学习的第一步,自己安装开发环境,配置环境.然后按照下面的路子开始学习和评估学习结果:
~G!k9i4s'p\W']0 1. 了解数据结构,这语言有哪些数据类型和数据结构呢?如:整形,字符串,浮点数,字符,数组,集合,列表,向量,哈希表,枚举类等等,怎么学习?明白这些是怎么来的,有什么优缺点,怎么用,为什么这么用,可不可以有别的方法替代.然后就是在开发环境里面创建一些小东西,来试试你理解的正确性;评估:回答下面两个问题:1清楚这个语言有多少种数据类型和数据结构,2每种数据类型和数据结构的正确用途.
Yjau Ix_E0N0 2. 基本语法,几乎所有语言都差不多,运算符啊,循环结构,条件选择结构,函数,过程,对象等等,这个时候,我们要在开发环境中将书里面的代码一行行敲进去,然后去调试,编译,产生错误,解决错误,在这个过程中学习语言的基础.评估指标:能够独立编写一个具备完善结构的小程序,比如比较两个整数数组的内容是否一致,找出不一致的部分.
o.v4\8Y.g0s Zt0 完成以上两步,那么我们就可以说入门了,要想继续下去,就得费点神了.进阶指南:
51Testing软件测试网 N1`"\'`/j3a 学习该们语言的类库,每一门语言都具备功能相同的类库:文件访问库,流处理库,网络库,数据库访问库,线程库,系统接口库,图形处理库等等;这些库比较多,因此需要用不少时间来学习和熟悉;方法如下:
51Testing软件测试网+j`$O/xHtS 1.文件访问库:编写一个记事本工具,功能就是读,写,改,删除,另存等等.
0{ d!Rdc
V0 2.网络库:写一个双工的聊天应用,什么叫双工?我只能说内事不决问
百度.
*S*d]4O
bv0 3.数据库访问:写一个具备增删改查功能的校友录吧,多简单啊.
51Testing软件测试网"OkSA4Es0? 4.哎不说了,到这一步的时候,估计大家都知道怎么给自己布置学习任务和方法了.
51Testing软件测试网,qZ;Zd$Ao"iTZ 看到这里,你觉得你可能出师了,嗯嗯,原来开发就这么简单啊,早知道我就做开发了,工资还高些嘛. 那么我现在要郑重其事的告诉你,我还留了一手没有说呢,开发的大杀器,你想成为一名优秀的开发工程师吗?甚至是系统架构师吗?你想维护世界和平吗?如果你的回答是OK,那么请给我汇款吧.嗯,嗯,广告时间?
x&|L"HP)l0 大杀器:程序员之心,只卖998(讨厌的购物广告).
fU
l'v#Z:j:Dj8Z0 熟悉语法,熟悉数据结构,熟悉算法实现,熟悉各种lib,到了这一步,就成了标准的软件蓝领,可以去做苦力了,而且薪水应该不低.如果想继续提升,继续发展,那么就得提升自己的意识境界.
51Testing软件测试网,PHT5l!h 我们要写的程序是有生命的,而不是死物,不是一段代码,不是一个软件,一个活生生的智能生物.我们不是在写程序额,是在造物,创造,多么给力的词汇!!只有神才能造物啊.我们不是为钱在写,不是为名在写,而是在造物,你写的每一个字符都要经得起推敲,否则就好像制造出一个先天不足的生命体一样.那么这个时候我们要关心什么呢:架构,成本,可扩展,可移植,可持续性,健壮性;我们造出来的东西要健康,强壮,寿命长,心态好,耐力好,而且还有有一个漂亮的外型,总之:骨骼清奇,血肉饱满,强壮有力,聪明可爱,漂亮大方,还有一道灵光至天灵盖迸射而出.
51Testing软件测试网w6C%Yy#M3N9_+d 51Testing软件测试网9{dR/c6bO.flofw8c4Zi0