testable function

原创 2012年03月22日 13:50:47
public function countrySelections(e:Event):Boolean {		
	var countryChanged:Boolean = false;
	var countries:ArrayCollection = e.currentTarget.selectedItems;
	trace("countrySelections:"+countries);
	var tmp:String = '';
  	for each(var i:Object in countries) {
        	    if(i.countryCode == 'All'){
        	    	tmp = 'All';
        	    	break;
        	    } else {
        	    	tmp+=i.countryCode+'|';
        	    }    
        }
        //Alert.show(myStrings.countryList + '___' + tmp);
        if(tmp != 'All'){
        	tmp = tmp.substring(0, tmp.lastIndexOf('|'));
        	if(myStrings.countryList.split('|').length > countries.length){
        		countryChanged = true;
        	} else {
        		for each(var j:Object in countries){
		        	if(myStrings.countryList.indexOf(j.countryCode) < 0 ){
		        		countryChanged = true;
		               }
        	        }
        	}        	
        } else {
        	if(myStrings.countryList != 'All') {countryChanged = true;}
        }        
        myStrings.countryList = tmp;        
        return countryChanged;
}

上面的函数是同事写的,问题很多,其实主要的功能是myStrings.countryList 和e.currentTarget.selectedItems的比较。

1)首先可以把事件去掉

2)引用和改变了全局变量myStrings.countryList

3)两个for,很多的if-else

其实这个问题可以简化为两个排好序数组的比较,可见排序很重要

private function countrySelections2(c1:Array,c2:Array){
	return c1.sort().join("|")!=c2.sort().join("|")
}



Digital Systems Testing and Testable Design

  • 2011年07月31日 20:00
  • 9.81MB
  • 下载

Guide-Writing Testable Code.pdf

  • 2012年03月19日 16:32
  • 931KB
  • 下载

Hive自带Function使用及UDF编程

Hive的自定义function

Digital Systems Testing and Testable Design

  • 2011年07月31日 18:02
  • 18.12MB
  • 下载

Digital Systems Testing and Testable Design

  • 2011年07月31日 18:16
  • 18.12MB
  • 下载

c++ 仿函数(function object)和函数指针的差别

所谓仿函数,是定义了operator()的对象,下面这个例子: FunctionObject fo; fo(); 其中表达式fo()是调用仿函数fo的operat...

Testable JavaScript

  • 2017年03月01日 13:31
  • 8.42MB
  • 下载

Digital system test and testable design

  • 2013年11月05日 00:19
  • 34.25MB
  • 下载

QTP学习第四天——sub、Function和RunAction的学习

'***************************************************************************************************...
  • gzh0222
  • gzh0222
  • 2011年12月20日 11:04
  • 3880
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:testable function
举报原因:
原因补充:

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