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("|")
}



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

相关文章推荐

Guide-Writing Testable Code

  • 2012-12-25 15:16
  • 931KB
  • 下载

Javascript Object与Function使用

Object instanceof Function 还是 Function instance of Object,是真是假,一一道来 如今的JavaScript再也不是以前被当做玩具的在网页上运...

Guide-Writing Testable Code.pdf

  • 2012-03-19 16:32
  • 931KB
  • 下载

启动Mediation_Function失败及解决方案

问题描述:启动Mediation_Function失败 1、找到错误文件 2、查看文件信息,找出错误原因 3、文件报某个文件14行出错,找到该行代码后删除后保存,将此工程文件重新打包...

Guide-Writing Testable Code

  • 2016-01-25 01:27
  • 931KB
  • 下载

回射客户端服务器select 修改版[1]( echo client && server improved by select function)

Function :  Compared with the former edition , we add select function to realise I/O multiplexing wh...

Testable JavaScript

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

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