火山基础开发习惯总结2006
作者:
火山基础开发习惯总结2006
总体说明:每个人玩FLASH一段时间后,肯定都会形成自己的一套开发习惯。好的习惯可以尽可能避免低级失误和不必要的麻烦,从而加速开发进程,提高开发质量。火山现在虽然只是业余爱好者,但两年的积累,再加上“火山之家”的开发,也自然而然的形成了火山特色的开发习惯。这些习惯从某种程度反映了我现在的开发水平,所以它基本上都是围绕着小型、快捷、面向过程的开发模式形成的,很多地方还很幼稚。不过以后随着我能力的不断提高,以及对面向对象编程思想的学习,它肯定还要不断的更新和完善。
→库文件夹分类习惯:
1,声音、图片各自放到独立的文件夹,放到库的最底层。
2,MC则根据栏目进行分类到不同的文件夹。
3,一般不用图形元件。
→时间轴管理习惯:
1,最上层为AS层,如果AS层超过三层,则建立专门的AS图层文件夹。多层AS层需要注意代码执行顺序。
2,第二层为标签层。
3,主场景其它图层按栏目进行文件夹分类,但一个MC内一般仅为一个栏目,不用分类。
4,相同性质而且相互影响不大的元件放一层,其它的独立分层,并按视觉效果进行上下分层。
5,loading、过渡动画、功能页面分在不同的场景。
→元件命名习惯:
1,库中元件的命名:采用中文命名,后边添加特定元件的后缀,比如我有一个“导航”的元件,按钮则命名为:“导航BTN”,影片剪辑则命名为:“导航MC”。声音和图片则直接使用“导航”命名。
2,命名的三步统一性:即元件在库中的名字,在场景中的实例名,以及所在层的名字尽量保持统一。比如一个元件在库中的名字为:“导航MC“,则它在场景中的实例名将为“daoHang_mc”,它所在的层名将为“导航”。这样在元件非常多,代码编写量非常大的时候,可以有效的节省命名和查找时间,同时避免引用错误。
3,文本域命名:如果一个MC中仅有一个动态文本域,则统一命名为:“wenBen_txt”,其变量名为“wenBen_var”。如果有两个以上动态文本域,则根据其功能进行命名。
→架构习惯:
1,三层分离:主场景数据层,动画层,代码功能层进行分离。由于数据加载完成时,会导致短暂的动画不流畅,所以我一般在loading场景中把数据一起加载完成,然后进入动画场景。大量的时间轴动画又会导致项目结构混乱,所以我一般又会把动画也处理成独立场景,将动画最后一贞复制,然后建立新的功能场景并粘贴,所有的核心代码都集中在功能场景中。
2,MC结构:由于每个MC基本又相当一个独立的小SWF,所以它的结构也尽量遵从“三层分离”的思想。
3,MC双贞式:每个MC都保持两贞。尽管大部分情况下,都可以用一贞完成任务,但我还是会专门留一贞,为可能的贞数据刷新留有余地。
4,元件嵌套结构一般不超过三层,迫不得已的情况下,也要保证代码不写在三层以下的元件上。
5,外部调用SWF全部定义:_lockroot = true。
6,外部调用的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,声音、图片各自放到独立的文件夹,放到库的最底层。
2,MC则根据栏目进行分类到不同的文件夹。
3,一般不用图形元件。
→时间轴管理习惯:
1,最上层为AS层,如果AS层超过三层,则建立专门的AS图层文件夹。多层AS层需要注意代码执行顺序。
2,第二层为标签层。
3,主场景其它图层按栏目进行文件夹分类,但一个MC内一般仅为一个栏目,不用分类。
4,相同性质而且相互影响不大的元件放一层,其它的独立分层,并按视觉效果进行上下分层。
5,loading、过渡动画、功能页面分在不同的场景。
→元件命名习惯:
1,库中元件的命名:采用中文命名,后边添加特定元件的后缀,比如我有一个“导航”的元件,按钮则命名为:“导航BTN”,影片剪辑则命名为:“导航MC”。声音和图片则直接使用“导航”命名。
2,命名的三步统一性:即元件在库中的名字,在场景中的实例名,以及所在层的名字尽量保持统一。比如一个元件在库中的名字为:“导航MC“,则它在场景中的实例名将为“daoHang_mc”,它所在的层名将为“导航”。这样在元件非常多,代码编写量非常大的时候,可以有效的节省命名和查找时间,同时避免引用错误。
3,文本域命名:如果一个MC中仅有一个动态文本域,则统一命名为:“wenBen_txt”,其变量名为“wenBen_var”。如果有两个以上动态文本域,则根据其功能进行命名。
→架构习惯:
1,三层分离:主场景数据层,动画层,代码功能层进行分离。由于数据加载完成时,会导致短暂的动画不流畅,所以我一般在loading场景中把数据一起加载完成,然后进入动画场景。大量的时间轴动画又会导致项目结构混乱,所以我一般又会把动画也处理成独立场景,将动画最后一贞复制,然后建立新的功能场景并粘贴,所有的核心代码都集中在功能场景中。
2,MC结构:由于每个MC基本又相当一个独立的小SWF,所以它的结构也尽量遵从“三层分离”的思想。
3,MC双贞式:每个MC都保持两贞。尽管大部分情况下,都可以用一贞完成任务,但我还是会专门留一贞,为可能的贞数据刷新留有余地。
4,元件嵌套结构一般不超过三层,迫不得已的情况下,也要保证代码不写在三层以下的元件上。
5,外部调用SWF全部定义:_lockroot = true。
6,外部调用的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,注释结构:
模块级代码用"==============="分隔。
功能级代码用"——————"分隔。
一般注释直接用"//"。
★唠叨两句:
今天暂时就能想到这么多了,既然是第一时间想到的,肯定都是我根深蒂固的习惯,以后想到了,再补上来。其实我发这个帖子主要有三个用意:第一,自我巩固和提高;第二,以后没事的时候,我可能会来写写教程,这个东西会方便新手们看懂我的源文件;第三,希望富有开发经验的前辈高手们也谈谈自己的习惯,好给我们这些后辈指条名路!
另外,这篇文章写的其实都是些最基本的操作习惯概述,还有很多高级的或者是特别的习惯以及很多细节,这里先不写了,不然会把文章的整体性搞乱,而且一时半会儿、一句两句肯定也写不完。具体到哪个项目再具体问题具体分析吧:)