第一篇:写代码总结
一、排版:
1.关键词和操作符之间加适当的空格。
2.相对独立的程序块与块之间加空行
3.较长的语句、表达式等要分成多行书写。
4.划分出的新行要进行适应的缩进,使排版整齐,语句可读。
5.长表达式要在低优先级操作符处划分新行,操作符放在新行之首。
6.循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分。
7.若函数或过程中的参数较长,则要进行适当的划分。
8.不允许把多个短语句写在一行中,即一行只写一条语句。
9.函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格。
10.C/C++语言是用大括号„{‟和„}‟界定一段程序块的,编写程序块时„{‟和
„}‟应各独占一行并且位于同一列,同时与引用它们的语句左对齐。在函数体的开始、类的定义、结构的定义、枚举的定义以及if、for、do、while、switch、case语句中的程序都要采用如上的缩进方式。
二、注释
1.注释要简单明了。
2.边写代码边注释,修改代码同时修改相应的注释,以保证注释与代码的一致性。
3.在必要的地方注释,注释量要适中。注释的内容要清楚、明了,含义准确,防止注释二义性。保持注释与其描述的代码相邻,即注释的就近原则。
4.对代码的注释应放在其上方相邻位置,不可放在下面。
5.对数据结构的注释应放在其上方相邻位置,不可放在下面;对结构中的每个域的注释应放在此域的右方;同一结构中不同域的注释要对齐。
6.变量、常量的注释应放在其上方相邻位置或右方。
7.全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。
8.在每个源文件的头部要有必要的注释信息,包括:文件名;版本号;作者;生成日期;模块功能描述(如功能、主要算法、内部各部分之间的关系、该文件与其它文件关系等);主要函数或过程清单及本文件历史修改记录等。
9.在每个函数或过程的前面要有必要的注释信息,包括:函数或过程名称;功能描述;输入、输出及返回值说明;调用关系及被调用关系说明等。
三、命名
1.较短的单词可通过去掉“元音”形成缩写;
2.较长的单词可取单词的头几发符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。
3.使用匈牙利表示法
四、可读性
1.避免使用不易理解的数字,用有意义的标识来替代。
2.不要使用难懂的技巧性很高的语句。
3.源程序中关系较为紧密的代码应尽可能相邻。
五、变量
1.去掉没必要的公共变量。
2.构造仅有一个模块或函数可以修改、创建,而其余有关模块或函数只访问的公共变量,防止多个不同模块或函数都可以修改、创建同一公共变量的现象。
3.仔细定义并明确公共变量的含义、作用、取值范围及公共变量间的关系。
4.明确公共变量与操作此公共变量的函数或过程的关系,如访问、修改及创建等。
5.当向公共变量传递数据时,要十分小心,防止赋与不合理的值或越界等现象发生。
6.防止局部变量与公共变量同名。
7.仔细设计结构中元素的布局与排列顺序,使结构容易理解、节省占用空间,并减少引起误用现象。
8.结构的设计要尽量考虑向前兼容和以后的版本升级,并为某些未来可能的应用保留余地(如预留一些空间等)。
9.留心具体语言及编译器处理不同数据类型的原则及有关细节。
10.严禁使用未经初始化的变量。声明变量的同时对变量进行初始化。
11.编程时,要注意数据类型的强制转换。
六、函数、过程
1.函数的规模尽量限制在200行以内。
2.一个函数最好仅完成一件功能。
3.为简单功能编写函数。
4.函数的功能应该是可以预测的,也就是只要输入数据相同就应产生同样的输出。
5.尽量不要编写依赖于其他函数内部实现的函数。
6.避免设计多参数函数,不使用的参数从接口中去掉。
7.用注释详细说明每个参数的作用、取值范围及参数间的关系。
8.检查函数所有参数输入的有效性。
9.检查函数所有非参数输入的有效性,如数据文件、公共变量等。
10.函数名应准确描述函数的功能。
11.避免使用无意义或含义不清的动词为函数命名
12.函数的返回值要清楚、明了,让使用者不容易忽视错误情况。
13/明确函数功能,精确(而不是近似)地实现函数设计。
14.减少函数本身或函数间的递归调用。
15.编写可重入函数时,若使用全局变量,则应通过关中断、信号量(即P、V操作)等手段对其加以保护。
七、可测性
1.在编写代码之前,应预先设计好程序调试与测试的方法和手段,并设计好各种调测开关及相应测试代码如打印函数等。
2.在进行集成测试/系统联调之前,要构造好测试环境、测试项目及测试用例,同时仔细分析并优化测试用例,以提高测试效率。
八、程序效率
1.编程时要经常注意代码的效率。
2.在保证软件系统的正确性、稳定性、可读性及可测性的前提下,提高代码效率。
3.不能一味地追求代码效率,而对软件的正确性、稳定性、可读性及可测性造成影响。
4.编程时,要随时留心代码效率;优化代码时,要考虑周全。
5.要仔细地构造或直接用汇编编写调用频繁或性能要求极高的函数。
6.通过对系统数据结构划分与组织的改进,以及对程序算法的优化来提高空间效率。
7.在多重循环中,应将最忙的循环放在最内层。
8.尽量减少循环嵌套层次。
9.避免循环体内含判断语句,应将循环语句置于判断语句的代码块之中。
10.尽量用乘法或其它方法代替除法,特别是浮点运算中的除法。
九、质量保证
1.在软件设计过程中构筑软件质量。
代码质量保证优先原则
(1)正确性,指程序要实现设计要求的功能。
(2)稳定性、安全性,指程序稳定、可靠、安全。
(3)可测试性,指程序要具有良好的可测试性。
(4)规范/可读性,指程序书写风格、命名规则等要符合规范。
(5)全局效率,指软件系统的整体效率。
(6)局部效率,指某个模块/子模块/函数的本身效率。
(7)个人表达方式/个人方便性,指个人编程习惯。
2.只引用属于自己的存贮空间。
3.防止引用已经释放的内存空间。
4.过程/函数中分配的内存,在过程/函数退出之前要释放。
5.过程/函数中申请的(为打开文件而使用的)文件句柄,在过程/函数退出前要关闭。
6.防止内存操作越界。
7.时刻注意表达式是否会上溢、下溢。
8.认真处理程序所能遇到的各种出错情况。
9.系统运行之初,要初始化有关变量及运行环境,防止未经初始化的变量被引用。
10.系统运行之初,要对加载到系统中的数据进行一致性检查。
11.严禁随意更改其它模块或系统的有关设置和配置。
12.不能随意改变与其它模块的接口。
13.充分了解系统的接口之后,再使用系统提供的功能。
14.要时刻注意易混淆的操作符。当编完程序后,应从头至尾检查一遍这些操作符。
15.不使用与硬件或操作系统关系很大的语句,而使用建议的标准语句。
16.建议:使用第三方提供的软件开发工具包或控件时,要注意以下几点:
(1)充分了解应用接口、使用环境及使用时注意事项。
(2)不能过分相信其正确性。
(3)除非必要,不要使用不熟悉的第三方工具包与控件。
十、代码编译
1.编写代码时要注意随时保存,并定期备份,防止由于断电、硬盘损坏等原因造成代码丢失。
2.同一项目组内,最好使用相同的编辑器,并使用相同的设置选项。
3.合理地设计软件系统目录,方便开发人员使用。
4.打开编译器的所有告警开关对程序进行编译。
5.在同一项目组或产品组中,要统一编译开关选项。
6.使用工具软件(如Visual SourceSafe)对代码版本进行维护。
十一、代码测试、维护
1.单元测试要求至少达到语句覆盖。
2.单元测试开始要跟踪每一条语句,并观察数据流及变量的变化。
3.清理、整理或优化后的代码要经过审查及测试。
4.代码版本升级要经过严格测试。
第二篇:软件工程代码总结
1、事件
处理事件的方法
2、class和id的用途是不一样的;首先要说明一下,选择器一共有三种:
html标记,class,id;html标记就不说了,class是对html标记选择器的一种扩展,CLASS可以给多个标记反复利用;而ID的目的在于被Javascript使用,来动态改变CSS,所以2种的实际用途是截然不同的。
如:“id”对应“#”,“class”对应“.”.id是唯一标志的,在同一页面中不能有相同的值,class则没这约束。如: Css #div1{......}.div2{......}
//class可以相同重复用
第三篇:程序员如果做到每天写代码?
对于程序员来说,如何做到每天都写代码呢?可汗学院计算机科学学院院长暨jQuery创始人John Resig撰文分享了自己的心得和体会。下面,一起看看他是如何做到的----首先他给自己定下了几条规则:
1.每天必须写代码。可以写文档、博客或者其他的文章,但是必须要加进自己写的代码。
2.代码必须是有用的。不要格式化、重构的代码。
3.代码必须在午夜之前写好(为了避免不想熬夜而草率地写代码)。
4.代码必须是开源的,且要放到Github上(这样强迫自己小心写代码,并会考虑代码重用性及怎么创建项目前期的模块)。
当然,以上这些规则是灵活的。John Resig之所以制定这么严格的规则,是想提高自己业余项目的开发效率。他已经在连续20周的时间里每天写代码,这给他带来了好的工作习惯。鉴于此,John Resig为大家分享了自己坚持每天做业余项目后的心得体会:
利用最小化的时间写好代码。
我强迫自己每天花不少于半个小时来写代码(这真不是一件容易的事,尤其还得回忆前一天写了什么),在工作日期间一般不超过一个小时,但在周末我会花多一些时间做业余项目。
让写代码成为习惯。
要知道我并不关心自己在Github上的排名,因为我觉得做业余项目是自己的事,不要为了取悦别人而做。减肥和锻炼也是同样的道理,如果你不在乎提升自己,你永远都不会取得成功。
与不良情绪作斗争。
在开始实施每天写代码的计划前期,我时常焦虑项目没有很大的进展,毕竟业余项目没有时间限制。后来我意识到有这样的不良情绪对项目进展一点帮助都没有,反而会阻碍。所以要与不良情绪作斗争,现在我能心平气和地完成大量的工作,再也不会像以前那样为工作的事情忙得焦头烂额了。
安排、利用好周末时间。
对大多数人来说,利用周末时间做业余项目是项目取得大进展的绝好机会。而对于我来说,如果直到周末业余项目才能做好我会对自己很失望。之前我很少能完成所有自己想做的工作,这也就强迫自己不参加诸如参观博物馆、游公园等自己喜欢的周末娱乐活动,把时间留给工作。然而现在我强烈地意识到尽管业余项目很重要,但是也不应该忽略个人生活,所以学会安排时间很重要。
潜意识思考。
每天做业余项目写代码有一个有趣的副作用,那就是大脑会在潜意识里思考。因此,当我在散步、淋浴或从事其他非脑力活动时,我还在想着下一步代码该怎么写、出现问题了有什么解决的好方法,以前我每星期或者隔一个星期写一次代码从没出现过这样的情况。时间用来思考自然就不会再为业余项目取得的进展少而焦虑了。
每天写一点代码不易忘。
当接头做业余项目时总要付出“上下文切换”的代价,然而不幸的是思考是很难接上头的。所以我每天都做一点业余项目,让自己不容易忘记。
管理好时间,平衡工作、生活、业余项目。
现在的我已简单地学会了如何更好地维持工作、生活、业余项目的平衡,我知道自己每天都要做业余项目,所以我会更好地管理时间。如果我晚上有活动且很晚才能回家,那么我会在开始工作之前就做好当天的业余项目。假如当天的业余项目没有做完,那么不论多晚我都会完成,做到今日事今日毕。
要及时跟外界沟通。
当自己养成了新的习惯后跟外界沟通这是很有好处的。我的伙伴们都知道我每天写代码这个习惯,因此有活动安排时我会跟他们说:“等我写完代码再去。”他们一点都不会介意也很理解我的行为。
代码积少成多。
我很难相信自己在过去的几个月写了很多的代码。我新建了几个网站,重新写了框架并创建了大量节点模块。我已经写了这么多以至于有时我都忘记自己写了些什么,但是我真的很高兴我写了这么多的代码。
好的习惯能带来巨大的成功,武汉北大青鸟光谷校区专业老师指出,像每天写代码做业余项目这件事只要你坚持做下去,一定会有意想不到的效果。
第四篇:flash常用代码总结
1、flash停顿多少秒后播放
setInterval()在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码 setTimeout()只执行一次那段代码
两个方法用法一样
1、如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval
2、如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout
stop();//设置停顿时间,单位毫秒
var loadTime=setInterval(playMC,5000);function playMC(){ play();clearInterval(loadTime);//终止被调用的过程代码的执行 }
2、Flash调用外部swf定位和大小
http://mojojo.blogbus.com/logs/16055529.html
flash调用外部swf定位和大小的ActionScript函数。
(1)用同一目录下swf文件,一般来说用loadMovie(“mpg.swf”,“mpg”);
可是那样不好控制swf的位置和大小把你的swf文件导入到一个空mc中去,然后通过调整这个空的mc来控制你的导入的swf文件的大小。
(2)文字要改变其大小可以用: setproperty(“mcname”,_xscale,xx);setproperty(“mcname”,_yscale,yy);
//其中mcname为空mc的实例名,xx,yy为调整数值(3)要改变调入后的swf的位置: setproperty(“mcname”,_x,xxx);setproperty(“mcname”,_y,yyy);
//其中xxx,yyy是数值,即新的位置
功能说明: loadMovieNum(“url”,level[, variables])loadMovie(“url”,level/target[, variables])
功能说明:
在播放原来加载的影片的同时将SWF或JPEG文件加载进来。
参数说明:
url 要加载的 SWF 或 JPEG 文件的绝对或相对 URL,不能包含文件夹或磁盘驱动器说明。
level 把swf文件以层的形式载入到Movie里,若载入0层,则载入的swf文件将取代当前播放的Movie。2层高于1层。
Target 可用路径拾取器取得并替换目标MC,载入的电影将拥有目标MC的位置、大小和旋转角度等属性。(个人认为用Target好些,在控制载入.swf位置时比较方便)variables 可选参数,指定发送变量所使用的 HTTP 方法(GET/POST),如果没有则省略此参数。
层次Level:Flash允许同时运行多个SWF文件,Flash一旦载入一个SWF文件,则占据了一个“层次”,系统默认的是_Flash0或_Level0,之后的Movie则按顺序放在level0---level16000里。第一个载入的SWF文件为_Flash0或 _Level0,第二个如果加载到第一层时的称为_Flash1或_Level1,依此类推。注意前提是前面载入的文件没有退出,否则冲掉第一个SWF文件,第一个文件也从内存中退出。
注意:如果你将外部的Movie加载到Leve0层或者Level0里,那么,原始的Movie就会被暂时取代,要再用时还得重新Load一次,也就是说,一个Level在一个时间里只能有一个Movie存在。在使用LoadMovie和UnLoadMovie时必须特别注意 Level之间的关系,否则,当你希望在一个时间里只播放一个Movie而Unload掉前一个Movie时,就会出现不必要的麻烦。
unloadMovieNum(level)
unloadMovie[Num](level/“target”)
功能说明: 从 Flash Player 中删除已加载的影片。
参数说明: 同上
loadVariables(“url” ,level/“target” [, variables])
功能说明:
从外部文件中(例如文本文件,或由 CGI 脚本、Active Server Page(ASP)、PHP 或 Perl 脚本生成的文本)读取数据,并设置 Flash Player 级别或目标影片剪辑中变量的值。
参数说明:
url 变量所处位置的绝对或相对 URL
level 指定 Flash Player 中接收这些变量的级别的整数。
Target 指向接收所加载变量的影片剪辑的目标路径。
variables 可选参数,指定发送变量所使用的 HTTP 方法(GET/POST),如果没有则省略此参数。
gotoAndPlay(scene, frame)
功能说明:
转到指定场景中指定的帧并从该帧开始播放。如果未指定场景,则播放头将转到当前场景中的指定帧。
参数说明:
scene 转到的场景的名称。
frame 转到的帧的编号或标签。
Flash常用代码的介绍
作者:ayan_2006 类型:闪吧BBS 来源:闪吧个人空间
1、用flash做那种弹出的小窗口分两步:给flash中的按钮加入如下action:
on(release){
getURL(“BLOCKED SCRIPTMM_openBrWindow(’newweb.htm’,’’,’width=600,height=100’)”);
} 在HTML页面的...之间加入下面的javascript代码.2、如何使得flash一打开就是全屏?
fscommand(“fullscreen”,true)如何不能使用右键?
fscommand(“showmenu”, “false”);
3、用命令载入一个动画,我需要确定载入动画在画面中的位置,用什么语言来设置?例如载入名为dd.swf的动画,我要确定这个动画的中心位置在(205,250),该怎么设置?在要加载动画的那钟加入:
loadMovie(“dd.swf”, “a”);
a._x=205;
a._y=250;你得先做一个空的MC起名叫“a”,导入时,在右下角也起名为a。
4、当鼠标经过时动画播放到某处:
on(rollover){
gotoAndPlay(10);
} 当鼠标按下时动画播放到某处:
on(release){
gotoAndPlay(1);
}
5、播完动画后自动跳到某网页:
getURL(“siteindex.htm”, _self);
6、设为首页:
一,用getURL的方法:
设为首页:
on(release){
getURL(“getURL(”javascript:void(document.links[0].style.behavior=’url(#default#homepage)’);void document.links[0].setHomePage(’http:// 您的网站地址/’);“, ”_self“, ”POST“);} 加入收藏夹:
on(release){
getURL(”getURL(“javascript:void window.external.AddFavorite(’http://您的网站地 址’,’网站名称’);”, “_self”, “POST”);} 第二种方法是通过用fscommand的方法,比上面一个要复杂一些。首先在Flash 的按钮上添加ActionScript脚本代码
设为首页
on(release){ fscommand(“setHomePage”, “http://您的网站地址”);} 加入收藏夹
on(release){ fscommand(“addFavorite”, “http://网站地址|网站名称”);} 在发布 Flash动画时选上HTML,在Template下拉菜单中选择Flash with fscommand,发布出html页面接着要对发布出来的HTML页面进行修改,在HTML代码中找 到这么一段
// Handle all the the FSCommand messages in a Flash movie&nb sp;function sethomepage_DoFSCommand(command, args){ } 这一段修改成 // Handle all the the FSCommand messages in a Flash movie function sethomepage_DoFSCommand(command, args){
var sethomepageObj = InternetExplorer ? sethomepage : document.sethomepage;if(command == “setHomePage”){
document.links[0].style.behavior = “url(#default#homepage)”;
document.links[0].setHomePage(args);} else if(command == “addFavorite”){ args = args.split(“|”);window.external.AddFavorite(args[0], args[1]);最后,如果html里一个链接都 没有,还需在 第二种方法:
也可以在SWF文件的第一帧Actions上的GETURL 命令上加上:
也可以在SWF文件的第一帧Actions上的GETURL 命令上加上:
javascript:window.open(”nfd.swf“,”“,”fullscreen=1,menubar=no,width=800,height=600“)这种全屏也是类似屏 保,用ALT+F4或设置按钮退出。把fullscreen设为=0,则只是不显示浏览器菜
单栏、工具栏的全屏。还有一个写法:
javascript:window.open(”*.swf“,”“,”menubar=no, toolbar=no,location=no,status=no,fullscreen=yes“)
我个人推荐这种^_^ 第三种方法:
稍麻烦一些,需要两个网页,呵呵*—* 你可以建立个空白网页加上代码 :
window.open(”*.htm“,”newwin“,”fullscreen=yes,status=no,location=no, toolbar=no,directories=no,menubar=no,resizable=yes,scrollbars=no“); *.htm 你把他替换为 你自己要全屏打开的网页就可以了
第四种方法:
这种方法更详细,还有步骤,不过我没有试过,你们可以先试一下啊。我把 操作步骤写下:
1、在Flashk中做好动画后,首先选择主菜单中的File Publish Settings(文件发布设置命令),弹出对话框,点击进入HTML项设置: 设置Dimensions尺寸单位为Percent百分比;在宽,高中设置100。再点击发布按钮进行发布即可。这样,在你原文件处就会生成一个和动画同名的HTML 文件。
2、建立一个空白的HTML页面blank.htm,只保留标签部分。
3、建立一个有带框架的html文件show.html,页面 html文本如下:
该文件将页面分为两个框 架,上面放动画名.html文件,下面放blank.html文件。注:其中,动画名.html文件是在第一步中发布出来的相应的html文件。4、建立一个带 JavaScript脚本的html文件full.html。用这个文件打开show.html并 定义其显示窗口为全屏,不带菜单,滚动条,状态栏等。该文件的html文本如 下:
window.open(”show.html“,”newwin“,”fullscreen=yes,status=no,location=no,toolbar=no, directories=no,menubar=no,resizable=yes,scrollbars=no“); 上面的第四步和第三种方法一样的 9、如何禁止右键菜单,fscommand的方法还是只能适用于fp,在网页中使用还是必须添加额外的参数,或者用最简单的一句as,在fp和网页中均适用:
Stage.showMenu=false;
10、播完动画后自动跳到某网页:
getURL(”siteindex.htm“, ”_self“);
最常用的Flash语句flash语句(汇集)FLASH代码
flash 动作语句 flash全屏语句 flash按钮触发语句 flash 最小化语句 flash自动跳转语句
1、flash按钮触发语句
box_btn.onPress=function(){ trace(”ok“);};按钮实例名称.事件处理方法=function(){ //处理程序
};例如:
n=1 box_btn.onRelease=function(){ n=n+1 trace(”n=“+n);} 当按钮被点一下的时候,Output窗口会输出:”n=2“ onClipEvent(load){ stop();} 以上是影片剪辑的事件处理函数。”()“的内部是事件。
在一个FLASH里在第一个场景里调用第二个场景,要在第一个场景里需要调用的地方加个按钮,然后在按钮上写下如下代码:
on(release){ tellTarget(”_root“){ gotoAndPlay(”mm2“, 1);} } 其中,”mm2“是第二个场景的MC的名称。
on(release){ loadmovie(”fz3.swf“,1);setProperty(”fz3.swf“,_x,100);
setProperty(”fz3.swf“,_y,100);
_root.createEmptyMovieClip(”Card Game“);
mc.loadMovie(”fz3.swf“);
mc._x=0;
mc._y=0;
} fz3.swf是需要调入的SWF文件,_x,_y是坐标轴
Card Game是SWF中MC的名字
on(release)结构只能用于按钮,其他相关的几种用法如on(press)、on(rollOver)、on(rollout)、on(dragOver)、on(dragOut)等。
2.If-else语句
对if语句可以进行扩展,使用else执行条件不成立(比较表达式为false)时的代码,如下所示:
if(x == 9){ gotoAndPlay(15);} else { gotoAndPlay(16);} 你也可以使用else if语句将if语句更推进一步,如下所示: if(x == 9){ gotoAndPlay(15);} else if(x == 10){ gotoAndPlay(16);} else if(x == 11){ gotoAndPlay(20);} else { gotoAndPlay(25);} 你可以让if语句想要多长就有多长,你也可以使用else if语句对别的变量进行比较,如下所示:
if(x == 9){ gotoAndPlay(15);} else if(y<20){ gotoAndPlay(16);} else { gotoAndPlay(25);} 复合比较
你可以在一个if语句中对几个比较表达式的值进行判断,比如说你希望在x为9并且y为20时跳转到第10帧,可以使用如下所示的脚本:
if((x == 9)&&(y == 20)){ gotoAndPlay(10);} 逻辑与运算符&&将两个比较表达式联接在一起成为一个复合表达式,当两个表达式的值都为true时复合表达式的值才为true。
每个比较表达式都需要添加独立的括号以便Flash能正确识别。
在Flash的早期版本中使用and执行逻辑与运算,现在已推荐不使用。
你也可以使用逻辑或运算符||将两个比较表达式联接在一起成为一个复合表达式,只要有一个表达式的值为true,复合表达式的值就为true。如下所示:
if((x == 7)||(y == 15)){ gotoAndPlay(20);} 在该脚本中,只要x为7或者y为15,或者两者都成立,结果都是跳转到第20帧。
只有当两者都不成立时,才不会执行gotoAndPlay命令。
3、函数
到现在为止,我们都是将脚本放在影片的第1帧中。
如果程序相当复杂,再放在同一帧中就使脚本显得太庞大了。
函数使你可以组织需重用的代码,并放在时间轴中,例如: function myFunction(myNum){ var newNum = myNum+5;return newNum;} 函数以关键字function开头,function后面是函数名。
与变量名相似,你可以指定自己的函数名,最好将函数名取得有意义一些。
函数名后面的括号容纳该函数的参数,所谓参数也是一个变量,它的值在调用该函数时予以指定。
一个函数可以有若干参数,也可以没有参数。无论有没有参数,函数名后都应紧跟一对括号。
大括号中的部分是函数体,在函数体中创建了一个局部变量newNum,将myNum加5的结果设置为newNum的值。
如果你将10作为参数传递给该函数,newNum的值就是15。
return命令仅用于函数中,使用return结束一个函数并返回函数值。
此处,newNum是用return命令返回的函数值。
要使用函数,就需要调用它,如下所示:
var a = myFunction(7);该语句创建一个新的局部变量a,将7作为参数调用函数myFunction,并将函数返回的结果作为变量a的值。
被调用的函数开始运行,创建一个局部变量myNum,将7作为myNum的值,然后执行函数体内的代码,使用return命令将newNum的值12返回给函数的调用者。这时,a的值变为12。
函数最大的作用体现在它可以重复使用。如下所示的3行代码产生3个不同的结果:
trace(myFunction(3));trace(myFunction(6));trace(myFunction(8));运行以上代码,你将得到结果8、11和13。
使用函数还有一个好处就是可以只改变函数中的一处,从而影响所有调用该函数的命令。
例如,将函数myFunction中的var newNum = myNum+5改成var newNum = myNum+7,上面3个调用该函数的命令的结果将变成10、13和15点语法的另一个用途是指定影片剪辑的属性。
如下面的语句将影片剪辑myMC的_alpha(透明度)属性设置为50%:
myMC._alpha = 50;你还可以在影片剪辑中使用点语法定位根(root)中的一个全局变量。
如果你在主时间轴中创建了一个全局变量globelVar,而要在影片剪辑中使用这个全局变量,可以使用如下的语句:
trace(_root.globleVar);stop:使影片停止在当前时间轴的当前帧中。
play:使影片从当前帧开始继续播放。
gotoAndStop:跳转到用帧标签或帧编号指定的某一特定帧并停止。gotoAndPlay:跳转到用帧标签或帧编号指定的某一特定帧并继续播放。
nextFrame:使影片转到下一帧并停止。
prevFrame:使影片回到上一帧并停止。
stop命令常常用在帧动作中,以使影片停止并等待用户控制。
其他命令常常用在按钮的事件处理函数中。
如果gotoAndPlay命令中只有一个参数,Flash将认为它代表某个帧;
如果有两个参数,第1个参数将作为场景名,第2个参数代表该场景中的帧。
要定位包含某一对象的上一级对象,可以使用关键字_parent。
如果一个影片剪辑是包含在主时间轴中,在影片剪辑中使用_parent和_root的效果是一样的。
如果影片剪辑与主时间轴相差两个层级,即当影片剪辑包含在另一个位于主时间轴中的影片剪辑中,这时在该影片剪辑中使用_parent指代的是它上一级的影片剪辑,而_root是指它上两级的主时间轴。在主时间轴中不能使用_parent,因为主时间轴没有上一级。
4、.详细了解GOTO语句
prevFrame()
跳至并停止在前一祯。
nextFrame()
跳至并停止在下一祯。
prevScene()
跳至并停止在前一场景的第1帧。nextScene()
跳至并停止在下一场景的第1帧。
gotoAndPlay([scene,] frame)
跳至scene场景(省略表示当前场景)的frame帧并播放。
gotoAndStop([scene,] frame)
跳至scene场景(省略表示当前场景)的frame帧并停止。
5、了解MC的各种可改写的属性
_x 中心点所在相对X坐标(象素单位)
_y 中心点所在相对Y坐标(象素单位)
_xscale 横向缩放比例,初始为100
_yscale 纵向缩放比例,初始为100
_rotation 相对旋转角度(度单位)
_width 相对显示宽度(象素单位)
_height 相对显示高度(象素单位)
_alpha 显示透明度(0~100)
_visible 是否可见
_focusrect 是否显示焦点框
_name 实例名称
6、三大纪律: 1>写代码时一定要用英文(如EN CH)输入法
2>必须要有唯物主义思想,没有加载的MC是不可以更改它的属
性,更不可以写代码去控制它。这个问题较难掌握,高手有时也会
犯,道理就是先有吃的才能请客吃,啥也没有请客吃什么呢
3>操作什么一定要选什么(实际上哪个软件也要这样)。在MX中加代
码时如不选,就一定要写明名称,实际上也是一种先择。
7、八项注意: 1>按钮不能盖着输入文本,动态文本和输入文本域不能盖着按钮
2>用loadMoie时LEVEL1及以上的文件尽量少用大隐型按钮
3>从一个文件中复制MC实例到别一个文件中时,尽量复制帧,而不能直接
复制实例,4>从一个文件中复制MC实例到别一个文件中时,要先把目标文件中的符
号库中原有的符号,装进资夹里,很多网友这个问题上上过当吧?
需要记住一个动作的作用时,可在动作面板中使用comment(注释)语句给帧或按钮动作添加注释。如果你在协作环境中工作或给别人提供范例,添加注释有助于别人对你编写的脚本的正确理解。
在动作面板中选择comment动作时,字符”//“被插入到脚本中。如果在你创建脚本时加上注释,即使是较复杂的脚本也易于理解,例如:
on(release){ //建立新的日期对象 myDate = new Date();currentMonth=myDate.getMonth();//把用数字表示的月份转换为用文字表示的月份
monthName = calcMoth(currentMonth);year = myDate.getFullYear();currentDate = myDate.getDat();}
常量
常量有其值永不改变的属性。常数用大写字母列于动作工具箱中。例如,常数BACKSPACE、ENTER、QUOTE、RETURN、SPACE和TAB是Key对象的属性,指键盘上的键。要测试用户是否在按Enter键,可使用下面的语句:
if(keycode()= =key.ENTER){ alert = ”你准备好了吗?“ controlMC.gotoAndStop(5);}
影片剪辑
1、load enterFrame load在整个动画中只加载一次,enterFrame不管是否有stop都要一直加载,直至关闭
onClipEvent(load){ var i = 0;} onClipEvent(enterFrame){ trace(i);i++;}
2、startDrag()(可做鼠标跟随)
用法
startDrag(target,[lock ,left , top , right, bottom])参数
target 要拖动的影片剪辑的目标路径。
lock 一个布尔值,指定可拖动影片剪辑是锁定到鼠标位置中央(true),还是锁定到用户首次单击该影片剪辑的位置上(false)。此参数是可选的。
left、top、right、bottom 相对于影片剪辑父级坐标的值,这些值指定该影片剪辑的约束矩形。这些参数是可选的。返回 无。说明
函数;使 target 影片剪辑在影片播放过程中可拖动。一次只能拖动一个影片剪辑。执行了 startDrag()操作后,影片剪辑将保持可拖动状态,直到用 stopDrag()明确停止拖动为止,或直到对其它影片剪辑调用了 startDrag()动作为止。示例
若要创建用户可以放在任何位置的影片剪辑,可将 startDrag()和 stopDrag()动作附加到该影片剪辑内的某个按钮上。on(press){ startDrag(this,true);} on(release){ stopDrag();} 若在动画开始时影片剪辑跟随鼠标 onClipEvent(load){ Mouse.hide();startDrag(this, true, 0, 0, 550, 400);}
duplicateMovieClip 函数
duplicateMovieClip(target:String, newname:String, depth:Number): Void duplicateMovieClip(target:MovieClip, newname:String, depth:Number): Void 当 SWF 文件正在播放时,创建一个影片剪辑的实例。无论播放头在原始影片剪辑中处于什么位置,在重复的影片剪辑中,播放头始终从第 1 帧开始。原始影片剪辑中的变量不会复制到重复的影片剪辑中。使用 removeMovieClip()函数或方法可以删除用 duplicateMovieClip()创建的影片剪辑实例。可用性:Flash Player 4;ActionScript 1.0 参数
target:Object所复制的影片剪辑的唯一标识符。depth:Number-所复制的影片剪辑的唯一深度级别。深度级别是所复制的影片剪辑的堆叠顺序。这种堆叠顺序很像时间轴中图层的堆叠顺序;较低深度级别的影片剪辑隐藏在较高堆叠顺序的剪辑之下。必须为每个所复制的影片剪辑分配一个唯一的深度级别,以防止它替换已占用深度上的 SWF 文件。示例
在下面的示例中,将创建一个名为 img_mc 的新影片剪辑实例。将一个图像加载到该影片剪辑中,然后复制 img_mc 剪辑。所复制的剪辑名为 newImg_mc,这个新剪辑将移至舞台上,因此它不会与原始剪辑重叠,并且将同一图像加载到第二个剪辑中。this.createEmptyMovieClip(”img_mc“, this.getNextHighestDepth());img_mc.loadMovie(”http://www.xiexiebang.com/flash/images/image1.jpg“);duplicateMovieClip(img_mc, ”newImg_mc“, this.getNextHighestDepth());newImg_mc._x = 200;newImg_mc.loadMovie(”http://www.xiexiebang.com/flash/images/image1.jpg“);要删除重复的影片剪辑,可为名为 myButton_btn 的按钮添加以下代码。this.myButton_btn.onRelease = function(){ removeMovieClip(newImg_mc);};
eval 该变量或属性的值。如果表达式是对象或影片剪辑,则返回对该对象或影片剪辑的引用。如果无法找到表达式中列举的元素,则返回 undefined。
下面的示例使用 eval()为动态命名的影片剪辑设置属性。此 ActionScript 为三个影片剪辑(分别称为 square1_mc、square2_mc 和 square3_mc)设置 _rotation 属性。
for(var i = 1;i <= 3;i++){ eval(”square“+i+”_mc")._rotation= 5;} 就可以使square1_mc、square2_mc 和 square3_mc角度都变成5
简单来说就是用字符串或者变量组合起来得到对象,变量..
第五篇:单片机实验代码总结
编者:方园
单片机实验代码集合(by fangyuan)
1.多字节累加程序:
ORG 0000H LJMP MAIN ORG 0030H;将加数和被加数送到指定地址 MAIN: MOV 20H,#45H
MOV 21H,#74H
MOV 30H,#67H
MOV 31H,#28H
;低位相加
MOV A,21H
ADD A,31H
DA A
MOV 42H,A
;高位相加
MOV A,20H
ADDC A,30H
DA A
MOV 41H,A
CLR A
ADDC A,#0
MOV 40H,A
SJMP $ END
2.数据交换实验
编写程序,实现以下操作:
【功能1】产生数组Hex1:0H、1H、2H、„ 0FH,存储到片内RAM区中,数组Hex1的首地址为30H。
【功能2】产生数组Hex2:0FH、0EH、0DH、„ 0H,存储到片外RAM区中,数组Hex2的首地址为3000H。
【功能3】将片内RAM数组Hex1与片外RAM数组Hex2交换内容。
代码:
ORG 0000H
Hex1 EQU 30H
;定义内部RAM数组首地址
Hex2 EQU 3000H;定义外部RAM数组首地址
编者:方园
LJMP MAIN
ORG 0030H MAIN:
MOV SP,#4FH
;定义栈顶地址
MOV R7,#16
MOV R0,#Hex1
MOV DPTR,#Hex2
LCALL HEX1DE
;调用内部送数据函数
LCALL HEX2DE;调用外部送数据函数
LCALL XCHDE;调用交换函数
SJMP $
ORG 0100H
;内部送数据
HEX1DE: PUSH 00H
PUSH 07H
MOV A,#0 LOOP1: MOV @R0,A
INC A
INC R0
DJNZ R7,LOOP1
POP 07H
POP 00H
RET
;外部送数据
HEX2DE: PUSH 07H
PUSH DPL
PUSH DPH
MOV A,#0FH LOOP2: MOVX @DPTR,A
DEC A
INC DPTR
DJNZ R7,LOOP2
POP DPH
POP DPL
POP 07H
RET
;交换子程序 XCHDE:
LOOP3: MOVX A,@DPTR
XCH A,@R0
编者:方园
END
MOVX @DPTR,A INC R0 INC DPTR DJNZ R7,LOOP3 RET
3.查表实验
1、《单片机原理及应用实验教程》(第2版)“第2章 实验3”(P49)。要求: 16进制数(00H~0FH)ASCⅡ码表定义在内部ROM中(用伪指令定义);R0为片内RAM区Hex数组指针;R1为片内RAM区Asc数组指针;数据块长度放在寄存器R2中。
代码如下:
ORG 0000H
Hex EQU 40H
Asc EQU 50H
LJMP MAIN
ORG 0030H MAIN:
MOV R2,#16
MOV DPTR,#TABLE
MOV R0,#Hex
MOV R1,#Asc
MOV SP,#2FH
LCALL FUZHI
LCALL ZHUANHUAN
SJMP $
TABLE:
DB '0123456789'
;查表子程序 ORG 1000H ZHUANHUAN:
PUSH 00H
PUSH 01H
PUSH 02H LOOP1:
MOV A,@R0
编者:方园
MOVC A,@A+DPTR
MOV @R1,A
INC R0
INC R1
DJNZ R2,LOOP1
POP 02H
POP 01H
POP 00H
RET
;R0送值子程序 FUZHI:
PUSH 00H
PUSH 01H
PUSH 02H
MOV A,#0 LOOP2:
MOV @R0,A
INC R0
INC A
DJNZ R2,LOOP2
POP 02H
POP 01H
POP 00H
RET END
2、编写用@A+PC指令的查表程序,实现用查表方式将片内RAM中16进制数组Hex(00H~0FH)转换为ASCⅡ码并存入片内RAM数组Asc中。要求:
16进制数(00H~0FH)ASCⅡ码表在内部ROM中; R0为片内RAM区Hex数组指针; R1为片内RAM区Asc数组指针; 数据块长度放在寄存器R2中。代码如下:
ORG 0000H
Hex EQU 40H
;内部Hex送数据地址定义
Asc EQU 50H;查表后数据储存地址定义
LJMP MAIN
ORG 0030H MAIN:
MOV R2,#16
MOV DPTR,#TABLE
MOV R0,#Hex
编者:方园
MOV R1,#Asc
MOV SP,#2FH
LCALL FUZHI;送值函数
LCALL CHABIAO;查表函数
SJMP $
ORG 1000H;查表子程序 CHABIAO:
PUSH 00H
PUSH 01H
PUSH 02H LOOP1:
MOV A,@R0
ADD A,#20H
MOVC A,@A+PC
MOV @R1,A
INC R0
INC R1
DJNZ R2,LOOP1
POP 02H
POP 01H
POP 00H
RET
;R0送值子程序 FUZHI:
PUSH 00H
PUSH 01H
PUSH 02H
MOV A,#0 LOOP2:
MOV @R0,A
INC R0
INC A
DJNZ R2,LOOP2
POP 02H
POP 01H
POP 00H
RET
编者:方园
TABLE:
DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46H
END
4.十进制数1-100累加运算
《单片机原理及应用实验教程》(第2版)“第2章 实验5”(P30)。编写程序,实现以下功能:
【功能1】产生十进制数1~100,并存放在片外RAM中以1000H为首地址的Deci数组中。【功能2】对Deci数组元素进行累加运算,并将累加和存入内部RAM中60H(存累加和低位)和61H(存累加和高位)单元。代码如下: 方法一:
ORG 0000H
LJMP MAIN
ORG 0030H MAIN:
MOV R7,#100
MOV DPTR,#1000H
MOV SP,#20H
LCALL STEP1
LCALL STEP2
SJMP $
ORG 2000H
STEP1: PUSH 07H
PUSH DPH
PUSH DPL
MOV A,#0
MOV R3,#0 LOOP1: INC A
DA A
XCH A,R3
ADDC A,#0
MOVX @DPTR,A
INC DPTR
XCH A,R3
MOVX @DPTR,A
INC DPTR
DJNZ R7,LOOP1
POP DPL
编者:方园
POP DPH
POP 07H
RET
STEP2: PUSH 07H
PUSH DPH
PUSH DPL
MOV 60H,#0
MOV 61H,#0
MOV R3,#0
LOOP2: INC DPTR
MOVX A,@DPTR
ADD A,60H
DA A
MOV 60H,A
CLR A
ADDC A,61H
DA A
MOV 61H,A
INC DPTR
DJNZ R7,LOOP2
MOV A,#1
ADD A,61H
DA A
MOV 61H,A
POP DPL
POP DPH
POP 07H
RET
END
方法二:
ORG 0000H
LJMP MAIN
ORG 0030H MAIN:
MOV R7,#100
MOV DPTR,#1000H
MOV SP,#20H
编者:方园
LCALL STEP1
LCALL STEP2
SJMP $
ORG 2000H
;送值子函数
STEP1: PUSH 07H
PUSH DPH
PUSH DPL
MOV A,#0 LOOP1: INC A
DA A
MOVX @DPTR,A
INC DPTR
DJNZ R7,LOOP1
CLR A
ADDC A,#0
MOVX @DPTR,A
POP DPL
POP DPH
POP 07H
RET
;累加子函数
STEP2: PUSH 07H
PUSH DPH
PUSH DPL
MOV 60H,#0
MOV 61H,#0
LOOP2:
MOVX A,@DPTR
ADD A,60H
DA A
MOV 60H,A
CLR A
ADDC A,61H
DA A
MOV 61H,A
INC DPTR
DJNZ R7,LOOP2
MOVX A,@DPTR
ADD A,61H
DA A
编者:方园
MOV 61H,A POP DPL POP DPH POP 07H RET
END
5.DPTR指针应用
《单片机原理及应用实验教程》(第2版)“第2章 实验6”(P31)。编写程序,实现以下功能:
【功能1】产生十进制数组Deci(1~99),并存放在片内RAM中,Deci数组首地址为08H。【功能2】将Deci数组中的偶数元素全部送入外部RAM偶数区,首地址为2000H;将Deci数组中的奇数元素全部送入外部RAM奇数区,首地址为3000H;分别统计外部RAM偶数区和奇数区元素个数。代码如下:
ORG 0000H
LJMP MAIN
ORG 0030H MAIN:
MOV SP,#70H
MOV R7,#99
MOV R0,#08H
MOV R5,#0
MOV R6,#0
LCALL STEP1
LCALL STEP2
SJMP $
STEP1: PUSH 00H
PUSH 07H
MOV A,#1 LOOP1: DA A
MOV @R0,A
INC R0
INC A
DJNZ R7,LOOP1
POP 07H
POP 00H
RET
编者:方园
STEP2: MOV DPTR,#2000H
PUSH DPL
PUSH DPH
MOV DPTR,#3000H
MOV R3,DPH
MOV R4,DPL LP1: MOV A,@R0
MOV R2,A
JNB ACC.0,LOOP2
SJMP LOOP3
LOOP2: POP DPH
POP DPL
MOVX @DPTR,A
MOV A,R5
ADD A,#1
DA A
MOV R5,A
INC DPTR
PUSH DPL
PUSH DPH
SJMP NEXT
LOOP3: MOV DPH,R3
MOV DPL,R4
MOVX @DPTR,A
MOV A,R6
ADD A,#1
DA A
MOV R6,A
INC DPTR
MOV R3,DPH
MOV R4,DPL
SJMP NEXT
NEXT:
INC R0
DJNZ R7,LP1
POP DPH
POP DPL
RET
END
编者:方园
6.定时器应用实验
DBUF EQU 30H ORG 0000H STRT: LJMP MAIN ORG 000BH LJMP PTF00 ORG 0030H MAIN: MOV DPTR,#5FFFH MOV A,#0DCH MOVX @DPTR,A MOV R5,#20 LP: MOVX A,@DPTR JNB ACC.7,LP MOV A,#00H MOVX @DPTR,A MOV A,#34H MOVX @DPTR,A MOV SP,#60H MOV R0,#39H MOV R7,#06H ML1: MOV @R0,#00H INC R0 DJNZ R7,ML1 MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 MOV IE,#82H MOV 40H,#10H ML0: LCALL DIR LJMP ML0 PTF00: PUSH PSW PUSH ACC SETB PSW.3 MOV TL0,#0B0H MOV TH0,#3CH
编者:方园
DJNZ R5,PTFY MOV R5,#20
MOV A,40H DEC A MOV 40H,A JNZ PTFY MOV 40H,#10H MOV R0,#39H MOV R7,#6 PTFX: MOV A,@R0 ADD A,#1 DA A MOV @R0,A CJNE A,#0AH,$+3 JC PTFY MOV @R0,#0 INC R0 DJNZ R7,PTFX PTFY: POP ACC POP PSW RETI DIR:
MOV R3,#06H MOV A,#92H MOV DPTR,#5FFFH MOVX @DPTR,A MOV R1,#39H TY11: MOV A,@R1 MOV DPTR,#CODE1 MOVC A,@A+DPTR MOV DPTR,#5FFFH MOVX @DPTR,A
INC R1 DJNZ R3,TY11 RET
CODE1: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H,88H
编者:方园
DB 83H,0C6H,0A1H,86H,8EH,8CH DB 0C1H,89H,0C7H,0BFH,91H DB 00H,0FFH END
7.广告灯实验
ORG 0000H LJMP MAIN ORG 000BH LJMP DELAY ORG 0030H MAIN: MOV DPTR,#TAB MOV R5,#71H MOV R2,#00H MOV R6,#20 MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB TR0 MOV IE,#82H SJMP $ DELAY: MOV TL0,#0B0H MOV TH0,#2CH
DJNZ R6,LP ACALL STEP MOV R6,#20 DJNZ R5,LP MOV R5,#71H
LP: RETI
STEP: LOOP: MOV A,R2 MOVC A,@A+DPTR MOV P1,A INC R2 DEC R5
编者:方园
RET
TAB:DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH
DB 0FFH,7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH
DB 0FEH,0FFH,0FEH,0FCH,0F8H,0F0H,0E0H,0C0H
DB 80H,00H,80H,0C0H,0E0H,0F0H,0F8H,0FCH
DB 0FEH,0FFH,7FH,3FH,1FH,0FH,07H,03H
DB 01H,00H,01H,03H,07H,0FH,1FH,3FH
DB 7FH,0FFH,7EH,3CH,18H,00H,18H,3CH
DB 7EH,0FFH,0FEH,0FCH,0FCH,0F9H,0F3H,0E7H
DB 0CFH,9FH,3FH,7FH,0FFH,7FH,3FH,9FH
DB 0CFH,0E7H,0F3H,0F9H,0FCH,0FEH,0FFH
DB 0FEH,0FCH,0F8H,0F0H,0E0H,0C0H,80H,00H
DB 80H,40H,20H,10H,08H,04H,02H,01H,00H
DB 01H,02H,04H,08H,10H,20H,40H,80H,00H
DB 80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH END
文档为doc格式
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。
域代码编写总结
word域代码详解 域的基本操作 Ctrl+F9 插入域 Ctrl+Shift+F9把域转为纯文本 Shift+F9 切换为域代码显示 十个特殊指令(域开关) 1、数组a 2、括号b 3、平移d 4、分式f 5......
DSP-C代码优化总结
代码优化总结 在优化一段代码之前,首先要找出这段程序中最消耗时间的那一段程序,对最耗时程序段的优化会带来很大的优化效果收益。 一般而言,这个最耗时的程序一般位于一个循......
数据库上机实验总结(含代码)
实验一 (1)无条件单表查询 select sname NAME,'year of birth:' BIRTH,2004-sage BIRTHDAY,LOWER(sdept) DEPARTMENT FROM student; (2)有条件单表查询 SELECT sname,sdept,sage......
Excel VBA常用代码总结1(精选合集)
Excel VBA常用代码总结1 改变背景色 Range("A1").Interior.ColorIndex = xlNone ColorIndex一览 改变文字颜色 获取单元格 Range("A1").Font.ColorIndex = 1 Cells(1, 2)......
部门代码
部门代码 总经理:GMD 行政人事部:AD 技术部:TD 发展部:RDD 宣传部:PD 策划部:SD 工程部:ED 造价部:EC 财务部:ACD 投融资部:FD 战略计划部:SPD 招标合约部:BCD 审计部:ADD 招商部:MD 研......
代码检查
代码检查 摘要:代码检查是白盒测试的一种静态测试方法,是众多软件测试方法中发现软件缺陷最有效的方法之一。本文结合国内外学者在相关领域的研究情况,介绍代码检查相关的基本......
代码注释格式(合集)
////////////////////////////////////////////////////////////////////////// //函数名称: WriteFile //函数功能: 向加密锁创建文件,并且向文件中写入数据,注意写入的数......
代码工作计划(精选合集)
2015年个人年度工作计划 自从2014年年初进入公司工作以来,在公司领导的关怀和指导下,在公司部分同事的大力支持下,我在工作和生活上都学到了很多。 2015年公司将全面壮大,各项......