欢迎光临

木子屋

标题: FLASH基础开发习惯

作者: dnawo

日期: 2006-12-13 12:25 AM

分类: 网页设计

内容: 总体说明：
每个人玩FLASH一段时间后，肯定都会形成自己的一套开发习惯。好的习惯可以尽可能避免低级失误和不必要的麻烦，从而加速开发进程，提高开发质量。火山现在虽然只是业余爱好者，但两年的积累，再加上“火山之家”的开发，也自然而然的形成了火山特色的开发习惯。这些习惯从某种程度反映了我现在的开发水平，所以它基本上都是围绕着小型、快捷、面向过程的开发模式形成的，很多地方还很幼稚。不过以后随着我能力的不断提高，以及对面向对象编程思想的学习，它肯定还要不断的更新和完善。
库文件夹分类习惯：
● 声音、图片各自放到独立的文件夹。
● 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，除非特别需要。
火山中文拼音面向过程结构化代码编写习惯：
一、代码分布：所有代码均写在时间轴上，一般都在第一贞，元件上绝不写代码。主场景上的代码负责对整个系统的初始设置，各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、注释结构：
模块级代码用"==============="分隔。
功能级代码用"——————"分隔。
一般注释直接用"//"。
另外补充：
1、自定义元件库的管理
推荐用文件夹分类。最大的类别应该是功能模块，比如说就是导航，建立导航文件夹，文件夹里再有第二级的分类，我按照的是图片，按钮（包括MC按钮），MC，有关联类的MC，主场景MC（就是可以被其他模块使用的，像Interface中的接口）。另外还有有个common功能模块，放组件，声音，视频什么的共用元件。
2、方法的命名
变量的命名楼主都说了，我想谈谈函数的命名。推荐“骆驼”试命名法，从语法上来说是动宾结构，比如getMovieClipName()，四个词，第一个是动词，除第一个词外首字母大写，这样的命名比较好说明函数的用途。
3、提高类的颗粒度，类功能单一化
多写几个类没有坏处，类的功能尽量单一，不要让一个类做各种各样不相干的事，这样后期的修改会非常麻烦。
4、基于接口的OOP编程
java要求为每个类都配个interface，其实不用那么夸张。但是这个思路值得借鉴，让接口来代替具体的实现类跟别的类交互，如果以后有扩展，只需要再写个实现类，不用修改交互部分的代码了。
5、设计比编码重要
一上来写代码绝对是不行的。先好好规划自己的系统，从大的流程到细小的逻辑实现，尽量的做到心中有数。这样才不会在做的过程中感觉混乱。

+ 查看当前日志评论 (1)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.598 ms

返回

标题: FLASH基础开发习惯

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.598 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.613 ms

返回