78. 后退一步,自动化,自动化,再自动化

来源:互联网 发布:淘宝下架的宝贝在哪 编辑:程序博客网 时间:2024/05/05 03:08

后退一步,自动化,自动化,再自动化

        我曾和一些程序员一起工作,他们被要求生成某个模块中代码的行数,于是将文件复制到一个文本处理器中并使用它的“行数统计”的功能。接下来的一周他们也是这样干的。再后面的一周还是这样干的。这很不好。
        我曾经工作的项目有一个冗长的部署过程,包括代码签名以及将结果移动到服务器,需要点很多次的鼠标。有人将其自动化了,那个脚本在最终的测试中运行了数百次,远比预期的多多了。这很不错。
        为什么人们一而再、再而三地重复做相同的任务,而不是后退一步花点时间将其自动化呢?
        常见的错误观念1:自动化只是测试用的。
        没错,测试自动化是很不错的,但为什么就此而止呢?重复性的任务存在于任何项目中:版本控制、编译、生成JAR文件、文档生成、部署及报告。这些任务中的很多,脚本都比鼠标更加好用,执行繁琐的任务时更加快速和可靠。
        常见的错误观念2:我有IDE,所以我不需要自动化。
        你是否曾经和同事争辩过:“但在我的机器上是可以(导出、生成或者通过测试)的“?现代的IDE有着成百上千的可能的设置,基本上不可能保证所有的团队成员都使用了相同的设置。自动化构建系统,如Ant或者Autotools可以给你控制和可重复性。
        常见错误观念3:要自动化,我需要学一些稀奇古怪的工具。
        你可以使用正式的shell语言(如Bash或者PowerShell)做很多事情,包括一个构建自动化系统。如果你需要和web网站交互的话,使用iMacros或者Selenium这样的工具。
        常见错误观念4:我不能处理这些文件格式,所以我不能自动化这个任务。
       如果你的处理过程中的某部分需要Word文档、表格或者图片,那要自动化可能真的是很有挑战。但这真的是必需的吗?能不能使用纯文本呢?CSV呢?XML呢?某个从文本生成画图的工具?通常,在过程中稍微做一点改变就可能取得很好的结果,并大大增加乐趣。
        常见错误观念5:我没有时间弄清楚。
        不需要学习bash或者Ant的一切东西后开始自动化。一边做用,一边学。当你有一个自己觉得可以且应该自动化的任务时,只要学到足够开始工作就可以了。在项目的早期做,那时比较容易有时间。一旦你成功了,你(和你的上司)就会发现创造出的自动化是很有价值的。
原文:Step Back and Automate, Automate, Automate byCay Horstmann

0 0
原创粉丝点击