| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
汇编语言---套装软件制作(1)
作者:未知    文章来源:网络    点击数:    更新时间:2006-7-19
  程式写完后,还要加工成为可执行的套装软件(Package),一般说来,即使是可以执行的程式,一点错误都没有,离套装软件的程度,却还有一段距离。 
    当然,程式侦错也是必经过程之一,有时侦错与程式写作可以同时进行。但有经验的程式师,对全面有了充份的认识,往往会等到程式联接后再行侦错。 
    程式完成后的全面侦错,最好不要依靠写程式的人。因为程式师经常不是使用者,他们仅在自己设计的条件下,依其理念进行侦错。当然这种错误必须更正,但最容易发生的错误,却是使用者不小心在输入时,或运用指令时,违背了程式师的理念。这种错误的发生,是不能原谅的,程式本来就是为使用者设计的,如果令使用者不便,程式就失去了应有的价值。 
    程式的品管,就在于检测程式是否符合使用者的需求。一般说来,应有专人负责,也有让写作手册的人,兼做品管的工作。这样可以同时对照手册所描述的功能及操作方法,检查两者之间是否一致。 
    还有一种常见的品管方式,是在产品完成时,交给完全没有参与程式设计的第三者,在客观的立场,作全面的试用,并提出测试报告或建议书。 
    品管合格了,才是包装、手册等最后的工作。这并不是说包装和手册要最后才做,相反的,尤其是使用手册,经常要在程式设计的同时,准备妥当,如此程式师才不会任意所之,脱离主题。 
    第一节  测试侦错 

    不论使用什么工具,侦错时一定要有清晰的头脑,根据所设定的方式,一步一步地查看流程及指令。 
    每个人都会有独特的习惯性错误,最好每次将自己发生的错误记下来,不仅错误会渐渐减少,且在错误发生时,很容易就能找到。 
    测试侦错是非常重要的手段,有人认为第一流的程式师不应该犯错,即使犯错,也错得很少。我的看法不一样,并非因为我经常犯错,而且错得离谱。真正的理由是为了适时掌握正确的思考方向,在编程时,有意无意地忽略一些细节,这样反而能一气呵成,不致于再而竭三而衰。 
    这就像画图一样,有人喜欢先作草图,有人则习惯由细部画起。不论个人的风格如何,重要的是最后的成果。 
    我在写程式之前,首先考虑全体的结构,再把各处的支架备妥,然后考虑有共同特性之处,便一口气写完。而且写时力求快速,以免失去当时的感觉。等到结构大体完成了,最后才去填补一些不太重要的细节。至于正确与否,则全靠测试侦错来修正、弥补。 
    这种写法要有很强的整体观念,且对每段程式的性质及功能皆瞭解从何下手。 
    我由系统程式到应用工具,大大小小的程式写了不少,对这种写作方法有很深的体会。唯一的缺点是,程式如果太大,超过20KB,我的记忆力就难以负担。(年轻人或许不致如此)但其优点则是结构精简,制作时间极短。以我们的中文系统程式而言,8KB 的程式,连侦错在内,只花了两个月的功夫。 
    然而,在训练程式师的过程中,我发现到还是循序渐进较好。每次写完了一段程式,立刻侦错,此段程式正确了,再写下一段。除非有绝对的把握,自信没有问题,否则千万不要等全部程式都写完了,再来调试。到那时,如果发现问题,在各段错综复杂的程式中,要找到错误所在,那是大海捞针了。 
    程式发生「当机」的情况,常常是 PUSH 及 POP不平衡所致,也有在做回路时,计数器为负值,以致锁在其中。如果程式分「段」太多,则要特别注意各「段」改变的情况。 
    诸如这些细节,最好随时把编程时的假想值记录下来,不要太过相信自己的记忆力,时间一长,程式一大,就什么都忘记了。 
    还有一点,在侦错时千万要养成习惯,记录追踪的过程。因为侦错是一种很琐碎的工作,很难一次就发现问题所在,第一次应该是第二次改进的经验。如果不详加记录,每次都要从头做起,将是一种极为痛苦的事。 
    不妨把侦错视为猜谜,一种智力的挑战,在遵守一定的规则下,应该是一种有趣的享受。 
    第二节  研究改进 

    想要把程式写好,一定要不断地研究、改进,由错误中学习,由改进中得到经验,培养出敏锐的观察能力和良好的写作习惯。 
    在开始时,这种过程需要付出不少时间,但对一位程式师来说,写程式是终身职业,能不精益求精吗? 
    以下举两个实例,以说明如何研究改进已完成的程式。 
  1,指令的运用: 
    以下面这段通讯处理程式而论,不仅语法及指令完全正确,执行时也毫无错误,是不是还可以加以改进呢? 
    1-1 按照前面规定,说明项中已用简化的字串: 
    SND-传送  RCV-接收  LET-左   
        RGT-右    VER-直    HOR-横 
    1-2 程式师代号为’C’。 
    1-3 段名省略。 

    1: CSND0: 

[1] [2] [3] [4] [5] [6] [7] [8] 下一页


  • 上一篇文章: 没有了

  • 下一篇文章:
  • 相关文章