如何养成Flash ActionScript代码编写好习惯

  每个人玩Flash一段时间后,都会形成自己的一套Flash ActionScript代码编写习惯。好的代码编写习惯可以尽可能避免低级失误和不必要的麻烦,从而加速开发进程,提高开发质量。火山现在虽然只是业余爱好者,但两年的积累,再加上“火山之家”的开发,也自然而然的形成了火山特色的开发习惯。这些习惯从某种程度反映了我现在的开发水平,所以它基本上都是围绕着小型、快捷、面向过程的开发模式形成的,很多地方还很幼稚。不过以后随着我能力的不断提高,以及对面向对象编程思想的学习,它肯定还要不断的更新和完善。

  库文件夹分类习惯

  ·声音、图片各自放到独立的文件夹。
  ·MC则根据栏目进行分类到不同的文件夹。
  ·一般不用图形元件。
  时间轴管理习惯

  ·最上层为AS层,如果AS层超过三层,则建立专门的AS图层文件夹。多层AS层需要注意代码执行顺序。
  ·第二层为标签层。
  ·主场景其它图层按栏目进行文件夹分类,但一个MC内一般仅为一个栏目,不用分类。
  ·相同性质而且相互影响不大的元件放一层,其它的独立分层,并按视觉效果进行上下分层。
  ·loading、过渡动画、功能页面分在不同的场景。
  元件命名习惯

  ·库中元件的命名:采用中文命名,后边添加特定元件的后缀,比如我有一个“导航”的元件,按钮则命名为:“导航BTN”,影片剪辑则命名为:“导航MC”。声音和图片则直接使用“导航”命名。
  ·命名的三步统一性:即元件在库中的名字,在场景中的实例名,以及所在层的名字尽量保持统一。比如一个元件在库中的名字为:“导航MC“,则它在场景中的实例名将为“daohang_mc”,它所在的层名将为“导航”。这样在元件非常多,代码编写量非常大的时候,可以有效的节省命名和查找时间,同时避免引用错误。
  ·文本域命名:如果一个MC中仅有一个动态文本域,则统一命名为:“wenben_txt”,其变量名为“wenben_var”。如果有两个以上动态文本域,则根据其功能进行命名。
  架构习惯

  ·三层分离:主场景数据层,动画层,代码功能层进行分离。由于数据加载完成时,会导致短暂的动画不流畅,所以我一般在loading场景中把数据一起加载完成,然后进入动画场景。大量的时间轴动画又会导致项目结构混乱,所以我一般又会把动画也处理成独立场景,将动画最后一贞复制,然后建立新的功能场景并粘贴,所有的核心代码都集中在功能场景中。
  ·MC结构:由于每个MC基本又相当一个独立的小SWF,所以它的结构也尽量遵从“三层分离”的思想。
  ·MC双贞式:每个MC都保持两贞。尽管大部分情况下,都可以用一贞完成任务,但我还是会专门留一贞,为可能的贞数据刷新留有余地。
  ·元件嵌套结构一般不超过三层,迫不得已的情况下,也要保证代码不写在三层以下的元件上。
  ·外部调用SWF全部定义:_lockroot = true。
  ·外部调用的SWF中绝不使用_level0,除非特别需要。
  向过程的结构化AS代码编写习惯

  一、代码分布
  所有代码均写在时间轴上,一般都在第一贞,元件上绝不写代码。主场景上的代码负责对整个系统的初始设置,各MC时间轴上的代码各成一体。

  二、代码结构
  按代码编辑器中从上到下的顺序。
  1系统初始化:
    ①界面初始化:包括编码设置,舞台设置,元件可见性,可用性等等初始设置。
    ②变量初始化:时间轴或者全局变量初始化。
    ③数组初始化:初始需要的数组,并利用循环进行赋值。
    ④对象初始化:初始需要的所有对象,并注册侦听器。
  2、代码逻辑结构:这里是整个代码的逻辑结构,一般通过一系列的函数调用使各种功能有机结合。
  3、功能块儿:一般按逻辑结构中的顺序定义各个功能块儿,并封装到函数中。

  三、命名习惯
  全部采用中文拼音全拼。
  1、变量命名:使用“var”进行时间轴变量声明,并且采用中文全拼命名,示例:var liuyan="";
  2、数组和对象命名:采用全拼加对应的后缀,示例:var shuzu_array=new Array(); var liuyan_lv=new LoadVars();
  3、函数局域变量命名:使用全拼加“fc”后缀,示例:function fanye(anniu_fc);
  4、外部通信变量命名:外部传递给FLASH的变量,添加对应的后缀:
     示例:txt传递给FLASH的变量用:liuyan_txt,ASP则为:liuyan_asp。
     FLASH传递给外部的变量加“flash”后缀,示例:yeshu_flash。

  四、注释习惯
  1、注释的位置:我一般习惯把注释写在代码前面。也就是先注释再代码。
  2、注释频率:基本上是逐行注释,最少也是逐功能注释。
  3、注释结构:
    模块级代码用"==============="分隔。
    功能级代码用"——————"分隔。
    一般注释直接用"//"。

  下面是经典会员noahgenius补充的一些资料。

  1自定义元件库的管理
  推荐用文件夹分类。最大的类别应该是功能模块,比如说就是导航,建立导航文件夹,文件夹里再有第二级的分类,我按照的是图片,按钮(包括MC按钮),MC,有关联类的MC,主场景MC(就是可以被其他模块使用的,像Interface中的接口)。另外还有有个common功能模块,放组件,声音,视频什么的共用元件。

  2方法的命名
  变量的命名楼主都说了,我想谈谈函数的命名。推荐“骆驼”试命名法,从语法上来说是动宾结构,比如getMovieClipName(),四个词,第一个是动词,除第一个词外首字母大写,这样的命名比较好说明函数的用途。

  3提高类的颗粒度,类功能单一化
  多写几个类没有坏处,类的功能尽量单一,不要让一个类做各种各样不相干的事,这样后期的修改会非常麻烦。

  4基于接口的OOP编程
  java要求为每个类都配个interface,其实不用那么夸张。但是这个思路值得借鉴,让接口来代替具体的实现类跟别的类交互,如果以后有扩展,只需要再写个实现类,不用修改交互部分的代码了。

  5设计比编码重要
  一上来就写代码绝对是不行的。先好好规划自己的系统,从大的流程到细小的逻辑实现,尽量的做到心中有数。这样才不会在做的过程中感觉混乱。

时间: 2024-12-24 21:57:44

如何养成Flash ActionScript代码编写好习惯的相关文章

Flash ActionScript代码:鼠标双击类

鼠标 /**  * @author sonygod  */ import mx.events.EventDispatcher; class Dbmc {  private var time1:Number;  private var time2:Number;  public var addEventListener:Function;  public var removeEventListener:Function;  public var dispatchEvent:Function;  p

PL/SQL学习笔记(三) ——PL/SQL代码编写规则

养成良好的代码编写习惯,PL/SQL代码编写规则: 1.标识符命名规则 1)定义变量时以v_作为前缀,如v_sal 2)定义常量时以c_作为前缀,如c_rate 3)定义游标时,建议使用_cursor作为后缀,如emp_cursor 4)定义异常时,以e_作为前缀,如e_integrity_error 5)定义PL/SQL表类型时,使用_table_type作为后缀,如sal_table_type. 6)定义表变量时,以_table作为后缀,如sal_table 7)同样,定义PL/SQL记录型

flash-利用 Flash AS3.0编写代码,用户输入数字,系统打印输出星期

问题描述 利用 Flash AS3.0编写代码,用户输入数字,系统打印输出星期 function GetDay (n:Number):String{ var d:Date=new Date(); switch(d.day){ case 0: trace(""星期日""); break; case 1: trace(""星期一""); break; case 2: trace(""星期二""

flash-求教:利用Flash as3.0编写代码,计算奇数和,偶数和。

问题描述 求教:利用Flash as3.0编写代码,计算奇数和,偶数和. 计算3 – 42352 偶数和及奇数和分别为多少?(涉及求余%) 解决方案 var os = 0; // 奇数和 var es = 0; // 偶数和 for (var i=3; i <=42352; i++) { if (i %2 == 0) es = es + i; else os = os + i; }

浅释Flash ActionScript代码优化原则

优化 本文浅谈Flash ActionScript代码优化,主要针对Flash 8帮助里面提到的一些代码编写优化原则加以解释. 1.避免从一个循环中多次调用一个函数. 在循环中包含小函数的内容,可使效果更佳.小函数生命期短,利于资源释放.尤其是在大的循环中时. 2.尽可能使用本机函数. 本机函数要比用户定义的函数运行速度更快.本机函数即Flash中内有的一些函数(intrinsic),比如hitTest(),你没必要自己写一个类似的. 3.不要过多使用 Object 类型. 数据类型注释应力求精

在PHP中养成7个面向对象的好习惯_php技巧

在 PHP 编程早期,PHP 代码在本质上是限于面向过程的.过程代码 的特征在于使用过程构建应用程序块.过程通过允许过程之间的调用提供某种程度的重用. 但是,没有面向对象的语言构造,程序员仍然可以把 OO 特性引入到 PHP 代码中.这样做有点困难并且会使代码难于阅读,因为它是混合范例(含有伪 OO 设计的过程语言).使用 PHP 代码中的 OO 构造 - 例如能够定义和使用类.能够构建使用继承的类之间的关系以及能够定义接口 - 可以更轻松地构建符合优秀 OO 实践的代码. 虽然没有过多模块化的

JavaScript的代码编写格式规范指南_基础知识

对于熟悉 C/C++ 或 Java 语言的工程师来说,JavaScript 显得灵活,简单易懂,对代码的格式的要求也相对松散.很容易学习,并运用到自己的代码中.也正因为这样,JavaScript 的编码规范也往往被轻视,开发过程中修修补补,最终也就演变成为后续维护人员的恶梦.软件存在的长期价值直接与编码的质量成比例.编码规范能帮助我们降低编程中不必要的麻烦.而 JavaScript 代码是直接发送给客户浏览器的,直接与客户见面,编码的质量更应该受到关注. 本文浅谈 JavaScript 编程中关

J2EE项目代码编写规范分享_java

码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯. 代码编写规范使用范围:J2EE项目开发. 包命名规范: 目的:包的命名规范应当体现出项目资源良好的划分 servlet类所在包命名规范:公司名称.开发组名称.项目名称.web.servlet 例如:net.linkcn.web.servlet 自定义标签类所在包命名规范:公司名称.开发组名称.项目名称.web.tags 例如:net.linkcn.web.tags 过滤器类所在包命名规范:公司名称.开发组名称.项

J2EE项目代码编写规范

问题描述 来源:http://bbs.diybl.com/54/20090603/272.html代码编写规范目的:能够在编码过程中实现规范化,为以后的程序开发中养成良好的行为习惯.代码编写规范使用范围:J2EE项目开发.包命名规范:目的:包的命名规范应当体现出项目资源良好的划分servlet类所在包命名规范:公司名称.开发组名称.项目名称.web.servlet例如:net.linkcn.web.servlet自定义标签类所在包命名规范:公司名称.开发组名称.项目名称.web.tags例如:n