434
社区成员
发帖
与我相关
我的任务
分享看完业界标杆华为的代码之规范,再结合当前学习的进度,对于这学期的编码规范,主要总结简化为以下几点:
(✳代表之前没有注意到的事项,本学期需要着重注意)
一、代码排版规定
1.程序块要采用缩进风格编写,缩进空格数为4个。
✳2.不允许把各种短语句写在一行中,即一行只写一条语句。
✳3.if, for, do, while, case, switch, default等语句自占一行,且无论语句多少都要加花括号{}。
4.程序块分界符(如C/C++语言大括号'{'和'}')应各独占一行并且位于同一列,同步与引用它们语句左对齐。在函数体开始、类定义、构造定义、枚举定义以及if、for、do、while、case、switch、case语句中程序都应该采用上述缩进方式。如下是正确的:
if(条件)
{
...
}
else
{
...
}
5.两个以上核心字、变量、常量进行对等操作时,它们之间操作符之前、之后或者先后要加空格;进行非对等操作时,如果是关系密切纪实操作符(如->),后不应加空格。
二、注释规范
✳1.普通状况下,源程序有效注释量必须在20%以上。
2.注释内容要清晰、明了,含义精确,防止注释二义性。
✳3.对于所有有物理含义的变量、常量,如果其命名不是充分自注释,在声明时都必须加以注释,阐明其物理含义。变量、常量、宏注释应放在其上方相邻位置或右方。
4.注释格式尽量统一,建议使用/*......*/。
三、标记符命名规范
1.标记符命名要清晰、明了,有明确含义,同步使用完整单词或人们基本可以理解的缩写,避免使人产生误解。
如下单词缩写可以被人们基本承认:
int tmp;//tmp为temp的简写
int flg;//flg为flag的简写
✳2.对于变量命名,禁止取单个字符(如i, j, k, ...),建议除了要有详细含义外,还能表明其变量类型、数据类型等,但i, j, k作局部循环变量是容许的。
----------------------------------------------------------------------------------------------------------------------------------------
第一次看到《数学之美》这本书还是在高一的暑假作业的阅读书单中,那时的我还对本书没有多大的深刻感想和体会,因为书中涉及了较多的专业知识和较为深奥的数学逻辑,加之是暑假作业,就没有去仔细地阅读本书。时至今日,经过了三年高中教育和一年大学教育的我已经是今非昔比的了,再次打开本书,才发现了本书和其他数学题材书籍比起来,最难能可贵的是,作者吴军把抽象、深奥的数学方法解释得通俗易懂,只需一些基础知识,便能给人以很多启发,也让人由衷感叹数学的简单之美和强大之美。
书中列举了大量现实中的例子,结合时事与时代背景,例如书中为了陈述找到科学的工作方法很重要,便举了机器翻译与人类实现飞行的梦想之间存在的普遍性联系。人类为了实现飞行的梦想,首先想到的是模仿鸟类制作振动的翅膀,但这种方法根本不能让人飞起来。后来英国人乔治·凯利爵士通过重新审视鸟类翅膀的功能,发现了空气动力学原理,并制造了一架滑翔机,实现了人类历史上第一次载人滑翔飞行。后人从空气动力学这个科学原理出发,最终发明了现代固定翼飞机。
在人工智能领域,也存在上述“鸟飞派”和“空气动力学派”的分别。机器翻译中,最难的问题之一是词的二义性。比如Bush一词可以是美国总统布什的名字,也可以是灌木丛。最直接想法的是告诉计算机加一条规则:“总统做宾语时,主语必须是一个人”。如果这样做的话,语法规则就会多得数不胜数,而且还有很多特例。而真正简单却实用的方法是,从大量文本中找到和总统布什一起出现的词,比如美国、华盛顿、国会等等,对灌木丛也作如此处理。在翻译Bush时,看看上下文中哪类相关的词多就行了,这就巧妙地把一个人类的智能问题变成计算机擅长的概率计算统计问题。
综上所述,《数学之美》一书,即使对不做研究或工程的人来说,也是开卷有益的。当吴军老师如讲故事般地,把复杂的问题以简单的数学形式讲述出来的时候,你会发现,原本深奥的公式是如此亲切和栩栩如生,也让人由此坚信,任何复杂的问题,最终都可以细化分解为简单的问题,并用简单的方法便能解决。