欢迎来到天天文库
浏览记录
ID:14324905
大小:60.00 KB
页数:27页
时间:2018-07-27
《forth系统入门手册22(两个重点)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、forth系统入门手册22(两个重点)更多FORTH学习资料,请访问http://forth.3322.org/modules/newbb/QQ群:12781666第22章两个重点forth曾经被称为只写语言(write-only),写完之后甚至连作者本人都读不懂。其实forth程序是可以变得易读的,只要你能遵循下面两个重点。第1个重点:命名----------------------------《forth的禅思》--------------------------好的Forth程式命名的原则选择好的指令名称,使程式易读,以下是好的Forth程式命名的原则(一)使用有意
2、义的英文字。(二)不要缩写。(三)使用复合字如CountEggs,InitDataArray名字可有31个字。(四)使用描述指令做什么的名字,让指令码解释它如何做事。(五)不要例举像DataAray1,DataArray2等,给予功能的描述像TemperatureArray,PressArray等。(六)指令码分解成短的片语并加以注解。(七)定义短的定义并使重覆使用他们以提高词汇的再使用能力。(八)在新定义里避免加入内部回圈的巢状结构。(九)对输入和输出堆叠(Stack)项目,时时加以注解。(十)在一个档里组成相关连的指令。;;;;;;;;;;;;;;;;;;;;;;;;
3、;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;----------------------------《ThinkingForth》--------------------------垂直格式对水平格式注解的目的,在使程式码的读者容易看出正在进行的是什么事。但是,需要多少注解才够?要决定什么样水平的注解才能满足需要,你必须问自己两个问题:谁会来读我的程式码?我那些定义的可读性如何?注解的文体(styles)基本上有两种可供选择。第一种称为"垂直格式",其中包含对过程的逐步叙述,就像是做了很好的注解的组合语言程式列表。这种逐步条列的
4、注解称为"叙事式的注解"。CRCChecksum:ACCUMULATE(oldcrcchar--newcrc)256*shiftchartohi-orderbyteXOR&xorintopreviouscrc80DOthenforeightrepetitions,DUP05、aceTHENLOOP;completetheloop另一种不在程式码的片语之间点缀这些叙事式注解的型态称为"水平格式"。:ACCUMULATE(oldcrcchar--newcrc)256*XOR80DODUP06、,写在那儿的资讯越多,尽快修复的机会也就越大。」以下为该公司要求符式程式设计师遵守,且颇合要领的规则。1.使用垂直格式。注解写在原始码的右方。有需要时,也可以接续到下一行。2.注解所用的字数应该比原始码多。(这个公司鼓励使用较长的、能充分描述意思的名字)3.任何条件结构的字、或应用程式的字,应该分开写在另一行。"噪音字"可以聚拢在一起。在巢式的条件句中必须使用缩排。(译注:在符式的核心字中,有些字会妨碍程式的可读性,如堆叠操作的DUP、DROP等等,它们看来就像是"噪音")但是,这种格式也有其若干困难。至少,逐步叙述的注解方式很费时,即使你使用一个相当好用的编辑器也是如此7、。生产力会受到影响,尤其是当你停下来写注解而打断了你的思路时。同时,你也要小心翼翼地确保注解的更新。常有的情形是,程式码被修改了,修正的版本也经过测试,修正的部份也的确能工作--但是程式设计师却忘了去修改注解。注解越多,它们就越有可能是错的。如果它们是错的,那可比没有注解还要糟。如果计划的负责人能够费心地检查以确保注解的正确性,那么问题还是可以解决的。最后,逐步注解的作法会给人一种虚假的安全感。别以为每行都有一个注解,就表示这个应用程式的注解就是好的。逐步注解并不会指出一个定义运作的精华。例如,所使用的检查值演算法(check
5、aceTHENLOOP;completetheloop另一种不在程式码的片语之间点缀这些叙事式注解的型态称为"水平格式"。:ACCUMULATE(oldcrcchar--newcrc)256*XOR80DODUP06、,写在那儿的资讯越多,尽快修复的机会也就越大。」以下为该公司要求符式程式设计师遵守,且颇合要领的规则。1.使用垂直格式。注解写在原始码的右方。有需要时,也可以接续到下一行。2.注解所用的字数应该比原始码多。(这个公司鼓励使用较长的、能充分描述意思的名字)3.任何条件结构的字、或应用程式的字,应该分开写在另一行。"噪音字"可以聚拢在一起。在巢式的条件句中必须使用缩排。(译注:在符式的核心字中,有些字会妨碍程式的可读性,如堆叠操作的DUP、DROP等等,它们看来就像是"噪音")但是,这种格式也有其若干困难。至少,逐步叙述的注解方式很费时,即使你使用一个相当好用的编辑器也是如此7、。生产力会受到影响,尤其是当你停下来写注解而打断了你的思路时。同时,你也要小心翼翼地确保注解的更新。常有的情形是,程式码被修改了,修正的版本也经过测试,修正的部份也的确能工作--但是程式设计师却忘了去修改注解。注解越多,它们就越有可能是错的。如果它们是错的,那可比没有注解还要糟。如果计划的负责人能够费心地检查以确保注解的正确性,那么问题还是可以解决的。最后,逐步注解的作法会给人一种虚假的安全感。别以为每行都有一个注解,就表示这个应用程式的注解就是好的。逐步注解并不会指出一个定义运作的精华。例如,所使用的检查值演算法(check
6、,写在那儿的资讯越多,尽快修复的机会也就越大。」以下为该公司要求符式程式设计师遵守,且颇合要领的规则。1.使用垂直格式。注解写在原始码的右方。有需要时,也可以接续到下一行。2.注解所用的字数应该比原始码多。(这个公司鼓励使用较长的、能充分描述意思的名字)3.任何条件结构的字、或应用程式的字,应该分开写在另一行。"噪音字"可以聚拢在一起。在巢式的条件句中必须使用缩排。(译注:在符式的核心字中,有些字会妨碍程式的可读性,如堆叠操作的DUP、DROP等等,它们看来就像是"噪音")但是,这种格式也有其若干困难。至少,逐步叙述的注解方式很费时,即使你使用一个相当好用的编辑器也是如此
7、。生产力会受到影响,尤其是当你停下来写注解而打断了你的思路时。同时,你也要小心翼翼地确保注解的更新。常有的情形是,程式码被修改了,修正的版本也经过测试,修正的部份也的确能工作--但是程式设计师却忘了去修改注解。注解越多,它们就越有可能是错的。如果它们是错的,那可比没有注解还要糟。如果计划的负责人能够费心地检查以确保注解的正确性,那么问题还是可以解决的。最后,逐步注解的作法会给人一种虚假的安全感。别以为每行都有一个注解,就表示这个应用程式的注解就是好的。逐步注解并不会指出一个定义运作的精华。例如,所使用的检查值演算法(check
此文档下载收益归作者所有