最新消息:380元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

编程技巧|Scratch变量的命名技巧

Scratch 少儿编程 3622浏览 0评论

友情提示:380元/半年,儿童学编程,就上码丁实验室

技巧1: 用前缀来区分变量的作用域

首先,变量的作用域是啥意思?

作用域(scope),是程序设计中应用很广泛的一个概念。简单理解,就是指程序中的变量、函数等在哪些代码范围内是有效的。

要注意,在不同的编程语言中作用域的定义有区别,下面的例子是针对Scratch来说的。

比如现在有胖猫和小狗两个角色。

编程技巧|Scratch变量的命名技巧

在小狗角色中建立这样的一个自定义的模块,可是在胖猫角色中却看不到。也就是说Scratch自定义模块的作用域是角色内部

编程技巧|Scratch变量的命名技巧

再观察这样一段代码。

编程技巧|Scratch变量的命名技巧

运行后,小狗先说“好喜欢”,然后会说“0”、而不是“骨头”。因为“一个东西”中的内容只在模块内部才有效,也就是说它的作用域是模块内部

编程技巧|Scratch变量的命名技巧

在新建变量或是列表的时候,会提示选择“适用于所有角色”、“仅适用于当前角色”,这其实就是在设定变量或是列表的作用域

编程技巧|Scratch变量的命名技巧

选前者的话,作用域就是作品内部,不论舞台、或是任何角色,都可以使用;选后者的话,作用域就是角色内部,只有当前这个角色自己才可以使用。

为了方便表达,下面把作用域是作品内部的变量叫做全局变量,把作用域是角色内部的变量叫做成员变量

在设计大型作品时,会建立很多的变量和列表,如果把它们的作用域搞错,编写逻辑时就很容易出错。

虽然在Scratch中是可以通过勾选来查看作用域的,但毕竟还是很麻烦。这里就分享一个通过命名来快速区分作用域的办法~

很简单,在全局变量名前面加一个标记,这样就同成员变量区分开了。

比如有一个叫得分的全局变量,根据自己的喜好可以写成 @得分、$得分、#得分、_得分 之类的形式;而成员变量的前面没有任何标记。

通过前缀标记的另一个好处是:因为全局变量会都排列在一起,也就顺便达到了分类的效果。

编程技巧|Scratch变量的命名技巧

这种方法可以算是匈牙利命名法(Hungarian Notation)的一种极简形式。

匈牙利命名法是微软公司一位叫 Charles Simonyi 的匈牙利程序员发明的,比较适合C/C++编程。用它来表示作用域的话,通常的样子是:”g_” 前缀表示全局变量、”m_” 前缀表示成员变量,类似的还有区分变量类型等一大堆定义。对于Scratch来说并不需要搞得这么复杂,因为Scratch的变量作用域只有两种,所以只在全局变量前加个标记就可以了,简洁、实用!

在现代编程语言中,因为编程特性的演变、编程环境的进化,已经不需要使用匈牙利命名法来区分变量的作用域和类型了。但在Scartch这种功能并不强大的入门级编程环境中,适当的借鉴其思路能帮助我们更好地编写大型作品哦~

技巧2: 区分常量和变量

 

编程中经常会用到固定数字,比如最大值5。

直接把5这个数字写在脚本中的话并不容易被理解,最好是用文字来表示。

虽然Scratch中并没有定义常量的功能,但我们可以用变量来表示常量,只要我们永远不去修改它的值就可以。

为了不误修改常量的值,可以在命名时想办法来区分常量和变量。

如果是英文,可以用全部大写的方式来表示常量。比如 MAX_NUM。

如果是中文,可以用特殊前缀来区分。

Scratch的变量命名并没有统一标准,只要自我感觉容易记忆、容易使用就达到目的啦~

 

始发于微信公众号:
顽斗坊

您必须 登录 才能发表评论!