c++ - 将发音归于不同的源代码概念是否可行?

标签 c++ language-agnostic accessibility

我经常辅导同学编程,最常见的是 C++ 或 Java。

试图口头表达 C++ 表达式的基本语法是独一无二的 令人恼火的。演讲者必须提供地道的英文翻译,或口头手写代码的完整说明,使用明确但缓慢的术语,如“左括号”、“按位与”等。这些解决方案都不是最优的。

在 C++ 中,有一个有限集 keywords —63—和operators —54,折扣命名运算符并将复合赋值运算符和前缀与后缀自动递增和递减视为不同。只有几种类型的文字、相似数量的分组符号和分号。除非我完全弄错了,否则就是这样。

然后为这些不同的概念(包括一个用于空白,需要它的地方)中的每一个赋予一个简洁、独特的发音并从那里出发是不是可行的?编程语言比自然语言更规则,因此发音可以标准化。

最佳答案

无需创建新的“词”来描述它们,对于诸如“include”之类的内容,您可以在大声说出时简单地在其前面加上“关键字”。您也可以使用众所周知的单词/短语来表达其他部分。与任何新程序员一样,无论如何您都必须逐字描述所有内容,因此我认为这不需要特别注意。我认为创造新词是更难的方法...

所以,例如:

#include <iostream>;

int main()
{
   if (1 < 2)
     return 1;
   else
     return 0;
}

可以读作:

(keyword) include iostream new-line (keyword) int main no params start block if number 1 (operator) less than number 2 new-line (keyword) return number 1 new-line (keyword) else new-line (keyword) return number 0 end block

将 () 中的单词视为可选的描述性单词,最有可能用于更复杂的代码中。如果您希望他们实际写下描述性词语,您可以使用“文字”一词​​。例如

(keyword) if literal number (operator) less than literal keyword

成为

if (number < keyword)

其他词也可以被赋予定义的含义,例如当您希望它们在下一行继续而不关闭任何当前打开的括号时,“split-line”等。

我个人觉得这种方法使用起来非常简单,也很容易教授。 YMMV,一如既往。

当然,这并不能解决国际化问题,但在最坏的情况下,会导致在非英语语言中使用“新词”,这并不比您提供的建议解决方案差。

关于c++ - 将发音归于不同的源代码概念是否可行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2153017/

相关文章:

accessibility - UIPageViewController 可访问性或画外音

ios - 如何为 iOS 版 Unity3d 添加辅助功能

ios - 如何本地化无障碍标签

c++ - 在 C++ 中将字符串转换为罗马数字

C++ vector 编译错误

c++ - 模板化成员函数 typedef 无法编译

language-agnostic - 每个递归都可以转化为迭代吗?

c++ - 计算数字平方根的程序。

language-agnostic - 我应该继承还是使用枚举?

language-agnostic - 因未兑现 promise 而导致计划挂起的期限