小王传闻测试驱动开发(Test Driven Development,简称TDD) 十分火爆,做为一个热爱新手艺的法式员, 必定得学一下。
他先是找到了TDD的典范册本, 也就是Kent Beck写的《测试驱动开发》, 认真看了一遍,他很快发现那本书固然阐了然TDD的原理和理论, 但是举的例子其实是太简单了, 和日常的工做相距太远,很难体味到TDD的精华。
如果有一本书用TDD的体例讲解Web系统开发就好了, 小王往找师傅乞助。
师傅拿出一本书说: “那本书里讲的就是TDD Web网站的例子, 必然要好都雅看啊”
小王一看封面:《Python Web开发 --测试驱动办法》 , 心里立即凉了半截: “那是Python, 我只会Java编程, 纷歧定能看懂啊。”
师傅说: “不要担忧, 那本书涉及到的手艺在我们的Java 项目中也有利用, 只是用别的一种语言描述罢了, 你看起来会很熟悉的。”
小王半信半疑,晚上回到家, 打开书来先看了几页,立即就发现了熟悉的工具: 嘿, 书中要用Git来治理代码, 那个我会, 完全没有压力。
还有为了利用测试驱动开发 ,要用到Selenium 来做功用测试, 那个小王很早就搞过了, 就是模仿一小我在阅读器中的操做, 例如点击,输进文字 等来测试,只不外之前小王用的是Javascript 版本的, 如今需要熟悉一下Selenium 在Python中的表达:
Python语法看起来仍是挺曲看的, 和之前本身学过的javascript版本的Selenium十分类似。
为了做单位测试, 书里还用到了Python的unittest 模块, 那长的和Java 的JUnit很像:
公家号“码农翻身”注: 那个例子来源于《Python Web开发 测试驱动办法》一书
小王想:那个Python的单位测试的根本构造和Java 的JUnit很像, 都用setUp往做一些初始化工做, 用tearDown往做肃清工做。测试也都以testXXXX开头。
但是那个 self 是什么鬼? 看样子应该和java 中的 this 类似, 为什么每个办法上都得加上 self 做为参数, 其实是太丑恶了!
小王觉得难于忍耐, 但是也没有办法,只能硬着头皮看下往。
既然是开发Web利用, 免不了要用一个Web框架, Python世界就是闻名的Django, 小王看了书中的介绍,也是一个MVC框架, 固然和java世界的Struts, SpringMVC差别, 但觉得就是熟悉的目生人。
书中还用到了Jenkins, 不就是一个继续集成的框架嘛, 在项目中已经用过了,本身还写过很多脚本呢。
那么简单了翻了翻, 小王找到了熟悉的觉得,自信也渐渐的来了: 看起来是一门新语言, 其实良多根本的思惟、原理和东西都是想通的。
所以读起那本书来也没什么难的, 只需要把重点放到若何用TDD来做驱动开发就行了。
不但进修了TDD,还能趁便进修下Python, 确实不错。
讲那么一个小故事, 次要想阐明一个法式员在工做顶用到的根本的手艺:单位测试, 功用测试 , 源码治理, 继续集成, MVC框架 等等,刚起头的时候需要认实的一点点的学,确实比力慢, 但是学的越多, 站的就越高,眼界就越宽,在进修编程的道路上似乎有了加速度,越跑越快。最初发现即便面临一门新语言,也能轻松应对了。
那还只是在技能层面, 假设掌握了一些根本的思惟和原理, 那关于新呈现的手艺也能很快理解,敏捷的上手。
例如在Java里搞大白了异步伐用的原理和Java 办事器端一个线程对应一个恳求的短处, 那当Node.js横空出生避世的时候,立即就会大白它的素质了, 假设需要进修, 也会轻松良多。
所以不消羡慕他人用了什么热门的、时髦的手艺,进修编程最隐讳的就是朝三暮四,对每个手艺都浅尝辄行,那样就像不断坐在驴车上,不断都晃晃悠悠,慢的要死, 相反把根底打好,就相当于在打造汽车,飞机, 以至有一天你发现像火箭一般蹿升了