flex – 如何让我的AS3 / Air代码更好?

大家好,这是我的小弗兰肯斯坦代码,不要取笑它,它的工作原理!
因此,您将传递表名称和作为关联数组的数据作为对象.
我很确定这不是像我一样好的代码而且还在学习ActionScript.那么我可以改变什么,或者你们如何让它变得更好?
public function save(table:String,data:Object):void
        {
            var conn:sqlConnection = new sqlConnection();
            var folder:File = File.applicationStorageDirectory;
            var dbFile:File = folder.resolvePath("task.db");
            conn.open(dbFile);

            var stat:sqlStatement=new sqlStatement();
            stat.sqlConnection=conn;

            //make fields and values
            var fields:String="";
            var values:String="";
            for(var sRole:String in data)
            {
                fields=fields+sRole+",:";
                stat.parameters[":"+sRole]=data[sRole];
            }
            //trim off white space
            var s:String=new String(fields);
            var cleanString:String=s.slice( 0,-2 );

            //over here we add : infront of the values I forget why
            var find:RegExp=/:/g;
            var mymyField:String=new String(cleanString.replace(find,""));
            cleanString=":"+cleanString;

            var sqlFields:String=mymyField;
            var sqlValues:String=cleanString;

            stat.text="INSERT INTO "+table+" ("+sqlFields+")VALUES("+sqlValues+")";

            stat.execute();
        }

解决方法

诚实地说,构建查询的部分非常恐怖.一半的代码删除了之前添加了几行的垃圾.这使得阅读和理解变得困难.这是代码质量差的一个标志.以下内容更短更简单:
//make fields and values
        var fields:Array = [];
        for(var field:String in data) {
            fields.push(field);
            stat.parameters[":"+field]=data[fieldName];
        }
        var sqlFields:String = fields.join(",");
        var sqlValues:String = ":"+fields.join(",:");

        stat.text="INSERT INTO "+table+" ("+sqlFields+")VALUES("+sqlValues+")";

        stat.execute();

相关文章

一:display:flex布局display:flex是一种布局方式。它即可以...
1. flex设置元素垂直居中对齐在之前的一篇文章中记载过如何...
移动端开发知识点pc端软件和移动端apppc端软件是什么,有哪些...
最近挺忙的,准备考试,还有其他的事,没时间研究东西,快周...
display:flex;把容器设置为弹性盒模型(设置为弹性盒模型之后...
我在网页上运行了一个Flex应用程序,我想使用Command←组合键...