命名模式的大写字母

Mr.*_*ard 7 symbols wolfram-mathematica names

Mathematica中,内置符号以大写字母开头.因此,不接受用大写字母开始用户创建的符号名称是公认的做法.

这个限制应该扩展到语法的其他方面多远?良好实践是否要求大写字母不用于SetDelayedRuleDelayed表达式中的命名模式(这些名称是本地化的)?

我认为大写字母以有用的方式扩展名称空间,并在视觉上区分小写的L和1.它们还允许以教科书的方式命名参数.

如果在将来的版本中引入了新符号,则命名模式应取代这些符号,并且现有代码不应中断.

如果使用诸如N和之D类的现有名称,则con是不明确的,但我觉得使用上下文和FrontEnd语法突出显示可以缓解这种情况.

mag*_*gma 2

这是我不接受的公认做法!

我指的是供个人或第三方使用的软件包。总的来说,我希望我的成品与理想的 (WRI) 质量、外观和感觉尽可能没有区别。这包括我的命令的长描述性名称,以及 WRI 使用的所有大写约定。

当然,目前我的软件包远未达到 WRI 的质量,但至少我正在尽力将它们与标准 MMA 功能集成。这包括使用大写的命令。

在开发过程中,语法突出显示会提醒我可能与标准 MMA 函数发生冲突,以便我可以采取适当的操作。当然,我的命令和包可能会与 MMA 的未来版本发生冲突,但没有什么是永恒的,如果未来的 MMA 命令在名称和功能上与我的命令和功能类似,我将简单地切换到标准功能,而对命名进行最小或不进行更改。

除此之外,我发现使用大写字母来区分包命令和更适度的临时变量在视觉上更具吸引力。如果您想查看一些视觉上不透明/没有吸引力的代码,只需查看任何普通的 Maple 代码即可。

关于模式变量,我尝试给出有意义的、大多是短的、不带大写的模式名称,以便用户可以通过查看 Ctrl/Cmd-K 模板来猜测我的包命令中需要什么样的输入。