解析器小结

原创 2011年01月13日 13:07:00

第一次用编程语言写自己的工具,挺有成就感的说~ 也有一些体会。工具的任务是把SilkTest脚本转换成python脚本。里面有一些工作特定相关的假设和需求。主要所得是心得体会啦~

Draft for SilktTest to Python transfer:

requirements:

"word1 word2"  -> "word1 word2"
{ -> [   
} -> ]
NULL, null, Null -> None
TRUE, true -> True
a.b.c   -> a['b']['c']

["","a"] + ["","b"] ->  ["","b"]

// -> #
line continuation


':' is not key delimiter in SilkTest
SilkTest keyword
 =, +, -, (, ), [, ], ; , .
 


Addintional Plus:
 1. detect what library is used in the test case , add sentence to import the library: Open_dialogname_**, Set_dialogname_**, Dlg_Set_dialogname_**, Dlg_Get_dialogname_***, Close_dialogname_***
  dialoglib = lower(dialogname) + "lib"
  
  from raftlibs import dialoglib
  from dialoglib import *
  
 2. add sentence like Activate_App(), sDocumentsDir = os.path.join(getPathToDesktop(), "TestFiles") at appropriate place
 
 3. Function call refactor:
  VerifyObjectActive()

 

从软件开发的角度来看:

         这是一个编译器,需要完成的基本任务是1)提取字符串和注释 2)分解单词 3)转换 等等.. 这些需求适用于“编译器”这个领域。用什么结构存储中间数据,功能之间是怎么样的接口,这些是可选的,算是程序设计的一部份。程序结构之下,分隔符是什么,字符串的文法,这要看具体的处理对象。

         基本任务,和加分任务可以根据难易程度和需求程度分优先级。一般把简单的最需要的任务放在前面完成。通常一个亟需的任务能够通过简单的机械化做到,是引发想开发这个软件的原因。几个亟需的任务也可以一个一个在程序中完成。当任务的个数很多很乱时,可以提取它们的共同点、合并到一个任务之中,将任务内容化为数据储存。

          在实现越来越多的任务时,可能整个程序的结构都要发生改变。原先的设计不一定能保证完成后来添加的任务。改变是痛苦的,学习理论知识能帮助建立有效的结构。

         理论知识研究通用的结构和算法。但是我们的需求可能很明确,用简单愚笨的结构就能实现,没有许多意外情况需要考虑。不管怎么样,理论知识能建立起一个模型和一类需求之间的纽带。不过理论的书籍很少讨论需求。会说明这这是用来干什么的,但是需求为何需要很少解释。而模型的建立来自复杂的需求,阅读理论书籍而不理解需求会有障碍。也是我觉得为什么项目开发经验的收获之一就是理解需求。

 

从软件测试的角度来看:

         在添加任务时,一个完整的功能不一定被一个独立的模块实现,它可能被划分到几个部分中。这些部分的前趋和后继可能会需要调整。部分和部分之间有时可能重叠,有时可能不重叠,这会让人头疼。将一个功能错误地划分或者放入错误的部分就会导致问题。另外在需要覆盖所有情况时,对个别特殊情况枚举不全也会导致错误。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【SpringMVC框架】小结+视图解析器配置前缀和后缀

1.入门程序小结 通过入门程序理解springmvc前端控制器、处理器映射器、处理器适配器、视图解析器用法。 前端控制器配置: 第一种:*.action,访问以.action结尾 由Di...

【SpringMVC框架】小结+视图解析器配置前缀和后缀

1.入门程序小结 通过入门程序理解springmvc前端控制器、处理器映射器、处理器适配器、视图解析器用法。 前端控制器配置: 第一种:*.action,访问以.action结尾 由Dispatc...

pull解析器

  • 2015-04-29 14:44
  • 54KB
  • 下载

Java中常用html解析器

http://www.open-open.com/jsoup/ 可能我们在项目中常用Dom解析html,但是以下介绍的解析器可能会让你更简单、容易去解析html。另外javaweb中常用的dom...

MSXML解析器

  • 2017-07-01 04:04
  • 7.96MB
  • 下载

ts解析器----pmt-pat- pa

  • 2015-11-04 14:08
  • 3.90MB
  • 下载

网页解析器beautifulsoup安装使用

安装方法: 举例说明: # -*- coding:utf-8 -*- from bs4 import BeautifulSoup import urllib2 import re ...

芯片ATR解析器

  • 2016-04-19 14:58
  • 689KB
  • 下载

C#JSON 解析器

  • 2015-09-04 21:19
  • 5.83MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)