Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Covariant Script 参考文档(STD201201) Rend审 #6

Open
OmangoItai opened this issue Feb 16, 2021 · 2 comments
Open

Covariant Script 参考文档(STD201201) Rend审 #6

OmangoItai opened this issue Feb 16, 2021 · 2 comments
Labels
documentation Improvements or additions to documentation

Comments

@OmangoItai
Copy link

  • 总:(建议)中文文档是否考虑标点符号的正确与完整使用?比如使用“。”“;”等的使用规范。

  • 1内建类型:(排版)是否应将初始值写在每个类介绍第一行?

    • 1.1 number
      • 第一行:(别字)0~9是否应为0~9?
    • 1.4 char
      • 第一行:(建议)举例字符时(如'A','C')分别使用大小写和符号。
    • 1.6 array
      • 第四行:(问题)自动增长部分填0,读者会产生“array是否仅用于number”、或“同一array内,不同元素可以多个类型”的疑问。
    • 1.7 list:(问题)没有访问方法的介绍。
    • 1.8 pair:(问题)没有访问方法的介绍。
    • 1.9 hash_map:
      • 第五行:(句式)句子太长,眼睛看不清。(建议)考虑重新排版本段,拆分为两段。
      • (问题)”自动建立键与0的映射“,与1.6array问题类似,0类型不明;”与扩展函数冲突则忽略“,状语从句中主语指代不明。
        +(更改)改为:可使用下标运算符(”[]“)访问表中键所对应的值,若键不存在,将自动建立键与0(number类型)组成的映射;其余情况正常返回所对应权值。也可以使用点运算符(”.“)访问表中的字符串键所对应的值,若与散列表扩展函数冲突,则该次访问行为被忽略;若键不存在将触发运行时错误;其余情况正常返回所对应权值。
      • 最后一行:(句式)(建议)补全后半句:例如,map[“hello”] 可使用 map.hello 代替。但 map.hello 不会自动新建映射,而map["hello"]会。
  • 2 语法

    • 2.1 语句
      • 第二行:(问题)本段称”一行代码称为语句“,而第三行举例为一行三句代码,有一定歧义。
    • 2.2 预处理
      • 第二行:(问题)本段称”#之后内容均视为注释“,有一定歧义理解为c++中的”/*“,(建议)写明本行内生效、或代码中始终生效。
      • 第六行:(问题)读者易产生”@begin@EnD间是否可以写‘打多个分号’的多个语句“的疑问。(建议)阐明本问题。
    • 2.5.2 在栈上新建对象/2.5.3 在堆上新建对象
      分别对比内容,(问题)读者易产生“是否gcnew与new皆返回指针”的疑问。(建议)在2.5.2中写明是否返回指针。
    • 2.6 表达式:(用词)递增、递减在++--中的取义是否应为自增自减?在此使用递增、递减,有未来与foreach等具有迭代功能的文本描述语义冲突的风险。
    • 2.6.2 一元运算符
      • -功能:(建议)取反应改为:取相反数
    • 2.6.3.1 右结合运算符
      • +功能:(句式)对称描述不全,后半句缺少主语,(建议)改为:对数值进行数学加法运算,或对字符串拼接
      • .功能:(用词)“各种对象”中,各种一词是否多余?
      • <、<=、>、>=功能:(用词)表达式返回值,而if选择分支,私以为代码语义上有别。此处“比较是否”的文本解释既可以用于<比较符的解释,也可以用于if(a<b)的解释。(建议)删去“是否”
      • &&、and、\、or:(问题)\是否是误写?若不是应加入对'\'转译的解释。(建议)c++中一种说法&与&&分别称为“位运算的与运算”和“逻辑运算的与运算”,可以考虑借鉴该说法/位与运算、逻辑与运算/
    • 2.6.3.2 左结合运算符:(问题)除=功能,以下所有功能解释存在“主语与宾语指代不全”问题。建议改为“对数值进行数学减法运算后的值赋予左边”。
      • 表下第二行:(问题)数组填零问题,同1.6array的疑问;哈希表存在类似疑问。
    • 2.6.5 结构化绑定:
      • 第二行:(句式)太长拗口,(建议)改为:结构化绑定(Structured Binding)指的是将数组中的值,按序绑定至小括号内逗号表达式列表中,如: (a, b) = {1, 2}
      • 第三行:(句式)太长拗口,(建议)改为:我们将等号左侧的小括号内逗号表达式列表称为“结构化绑定列表”。
      • 第五行:(句式)状语重复,冗长,(建议)改为:结构化绑定也可以嵌套,但要嵌套结构中对应位置的数组必须也是嵌套的,如: (a, (b, c)) = {1, {2, 3}}。
    • 2.7 作用域和名称空间
      • block和namespace:(问题)缺少对namespace变量周期的说明,读者易产生“namespace也会销毁变量”的误解,(建议)补充对namespace变量生命周期的说明。
    • 2.7.2 名称查找
      • 倒数第四行:(问题)本行描述“将会把点运算符左边的变量作为函数的第一个参数传入”,读者易产生“这种传参行为是否是强制的”的疑问,(建议)阐明强制性。
      • 倒数第一行:(问题)str.size是否为误写,实际为str.size()?
@OmangoItai OmangoItai changed the title Covariant Script 参考文档(STD201201)一、二章 一审 Covariant Script 参考文档(STD201201) Rend审 Feb 16, 2021
@nobodxbodon
Copy link
Contributor

word 中,2.6.4 开始使用”逻辑表达式“,最好对其说明含义。另外,是否有隐式判断比如非零的数、非空对象等等是否判断为真

2.8.1 switch 是否支持多个 case 在伪代码中不明确:

switch 表达式
    case 常量标签
        语句块 
    end default
        语句块 
    end 
end 

wiki 中,7.4 控制结构的行为,return true 未分行,另外,“返回值无意义”不大理解。下面的 to_string() 有类似问题:
Screen Shot 2021-03-01 at 12 58 19 AM

4.3 内有几处 api 说明分隔有误: load/exit/get_drawable/load_from_file/save_to_file:
Screen Shot 2021-03-01 at 1 06 00 AM

@mikecovlee
Copy link
Member

建议到wiki上完善编辑者指南 http://wiki.csman.info/readme.editor

@mikecovlee mikecovlee added the documentation Improvements or additions to documentation label Mar 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants