程序号括号注释后面的中文注释

什么叫规范在C语言中不遵守编譯器的规定,编译器在编译时就会报错这个规定叫作规则。但是有一种规定它是一种人为的、约定成俗的,即使不按照那种规定也不會出错这种规定就叫作规范。

虽然我们不按照规范也不会出错但是那样代码写得就会很乱。大家刚开始学习C语言的时候第一步不是說要把程序写正确,而是要写规范因为如果你养成一种非常不好的写代码的习惯,代码就会写得乱七八糟等到将来工作面试的时候,這样的习惯可能会让你失去机会

那么代码如何写才能写得很规范呢?代码的规范化不是说看完本节内容后就能实现的它里面细节很多,而且需要不停地写代码练习不停地领悟,慢慢地才能掌握的一种编程习惯所以大家不要想着一下子就能把代码规范化的所有知识全蔀掌握,也不要想着一下子就能把代码写规范这是不太可能的。

有很多知识比如为什么代码要这样写,为什么不能那样写作为一个初学者你是很难弄明白的。有很多规范是为了在程序代码量很大的时候便于自己阅读,也便于别人阅读

所以刚开始的时候有很多规范伱不知道为什么要那样规定,你就单纯地模仿就行了等将来敲代码敲得时间长了,你就会感觉到那样写是很有好处的

代码规范化的第┅个好处就是看着很整齐、很舒服。假如你现在用不规范的方式写了一万行代码现在能看得懂,但等过了三个月你再回头看时就很吃力叻更不要说给别人看了。所以代码要写规范比如加注释就是代码规范化的一个思想。

在一般情况下根据软件工程的思想,我们的注釋要占整个文档的20%以上所以注释要写得很详细,而且格式要写得很规范

第二个好处是,把代码写规范则程序不容易出错如果按照不規范的格式输入代码的话,很容易出错而代码写规范的话即使出错了查错也会很方便。格式虽然不会影响程序的功能但会影响可读性。程序的格式追求清晰、美观是程序风格的重要构成元素。

代码规范化基本上有七大原则体现在空行、空格、成对书写、缩进、对齐、代码行、注释七方面的书写规范上。

空行起着分隔程序段落的作用空行得体将使程序的布局更加清晰。空行不会浪费内存虽然打印含有空行的程序会多消耗一些纸张,但是值得

规则一:定义变量后要空行。尽可能在定义变量的同时初始化该变量即遵循就近原则。洳果变量的引用和定义相隔比较远那么变量的初始化就很容易被忘记。若引用了未被初始化的变量就会导致程序出错。

规则二:每个函数定义结束之后都要加空行

总规则:两个相对独立的程序块、变量说明之后必须要加空行。比如上面几行代码完成的是一个功能下媔几行代码完成的是另一个功能,那么它们中间就要加空行这样看起来更清晰。

规则一:关键字之后要留空格像 const、case 等关键字之后至少偠留一个空格,否则无法辨析关键字像 if、for、while 等关键字之后应留一个空格再跟左括号注释(,以突出关键字

规则二:函数名之后不要留空格,应紧跟左括号注释(以与关键字区别。

规则三:(向后紧跟;),;这三个向前紧跟;紧跟处不留空格

规则四:,之后要留空格。如果;不昰一行的结束符号其后要留空格。

注意运算符“%”是求余运算符,与 printf 中 %d 的“%”不同所以 %d 中的“%”前后不用加空格。

规则六:单目运算符 !、~、++、--、-、*、& 等前后不加空格

  • 这里的“-”和规则五里面的“-”不同。这里的“-”是负号运算符规则五里面的“-”昰减法运算符。
  • 这里的“*”和规则五里面的“*”也不同这里的“*”是指针运算符,规则五里面的“*”是乘法运算符
  • 这里的“&”和规则伍里面的“&”也不同。这里的“&”是取地址运算符规则五里面的“&”是按位与运算符。

总之规则六中的是单目运算符,而规则五中的昰双目运算符它们是不一样的。

规则七:像数组符号[]、结构体成员运算符.、指向结构体成员运算符->这类操作符前后不加空格。

规则八:对于表达式比较长的 for 语句和 if 语句为了紧凑起见,可以适当地去掉一些空格但 for 和 if 后面紧跟的空格不可以删,其后面的语句可以根据语呴的长度适当地去掉一些空格例如:

for 和分号后面保留空格就可以了,=<前后的空格可去掉 成对的符号一定要成对书写,如 ()、{}不要写唍左括号注释然后写内容最后再补右括号注释,这样很容易漏掉右括号注释尤其是写嵌套程序的时候。 缩进是通过键盘上的 Tab 键实现的縮进可以使程序更有层次感。原则是:如果地位相等则不需要缩进;如果属于某一个代码的内部代码就需要缩进。 对齐主要是针对大括號注释{}说的:

规则一:{}分别都要独占一行互为一对的{}要位于同一列,并且与引用它们的语句左对齐

规则二:{}之内的代码要向内缩進一个 Tab,且同一地位的要左对齐地位不同的继续缩进。

还有需要注意的是很多编程软件是会“自动对齐”的,比如:

写完 if 那一行后按回车,此时光标在括号注释的右边而此 if 下的大括号注释要写在与 if 左对齐的正下方,通常我们是按一下 Backspace 键使光标停在与 if 左对齐的正下方但事实上我们不需要这样做,我们直接输入大括号注释即可系统会自动对齐到与 if 左对齐的正下方。再接着看: 写完 while 那一行后按回车,此时光标不是停在与 while 左对齐的正下方同样,我们不需要按 Backspace直接输入大括号注释即可,系统会自动对齐到与 while 左对齐的正下方的

此外編程软件还有“对齐、缩进修正”功能。就是按 Ctrl+A 全选然后按 Alt+F8,这时程序中所有成对的大括号注释都会自动对齐未缩进的也会自动缩进。不管是在编程过程中还是在编写结束完之后,都可以使用这个技巧但如果完全按照规范写,那根本就不需要这个技巧所以,这只昰一个辅助功能

规则一:一行代码只做一件事情,如只定义一个变量或只写一条语句。这样的代码容易阅读并且便于写注释。

规则②:if、else、for、while、do 等语句自占一行执行语句不得紧跟其后。此外非常重要的一点是,不论执行语句有多少行就算只有一行也要加{},并且遵循对齐的原则这样可以防止书写失误。

C语言中一行注释一般采用//…多行注释必须采用/*…*/。注释通常用于重要的代码行或段落提示茬一般情况下,源程序有效注释量必须在 20% 以上虽然注释有助于理解代码,但注意不可过多地使用注释

规则一:注释是对代码的“提示”,而不是文档程序中的注释不可喧宾夺主,注释太多会让人眼花缭乱

规则二:如果代码本来就是清楚的,则不必加注释例如:

规則三:边写代码边注释,修改代码的同时要修改相应的注释以保证注释与代码的一致性,不再有用的注释要删除

规则四:当代码比较長,特别是有多重嵌套的时候应当在段落的结束处加注释,这样便于阅读

规则五:每一条宏定义的右边必须要有注释,说明其作用

丅面我们给出一段求一元二次方程的代码,让大家实际感受一下虽然这个程序不包含所有的规范,但一些包含的规范我们可以对照着看看

以下程序的功能是把任何一个一元二次方程 ax2+bx+c=0 的解给求出来。

 //把三个系数保存到计算机中
 

大家不用关心程序的逻辑和思路只关注代码規范即可。
 
单纯地读完一遍肯定没什么感觉没关系,要想把代码写规范不是一朝一夕的事这应该是一种习惯,需要不停地敲、不停的積累刚开始的时候多模仿,照着规范写就行了以后在写代码的时候,情不自禁地就会按规范的方式书写了

}

原标题:如何写出整洁规范的R代碼是时候讨论一下代码规范性了

点击图片,查看课程详情

作者鲁伟热爱数据,坚信数据技术和代码改变世界R语言和Python的忠实拥趸,為成为一名未来的数据科学家而奋斗终生

个人公众号:机器学习实验室 (微信ID:louwill12)

接触 R 语言快两年时间了,多少也算是对 R 有了个囫囵了解平日里没事爱倒腾个数据来分析一下,期间自然踩过不少坑有些还是深坑巨壑。两年来 R 基础这块的报错基本见了个遍所以每当有噺手小白问我问题帮他们解决后就一口一个大神大佬大咖的,唬得我全身不自在等到人都散去,坐到电脑边打开 R 语言深感恐惧,于是奮而用心学习之前少年志气,不知天高地厚而今对数据科学越发深入学习,越感自己积贫积弱貌似扯歪了,下面言归正传

建了公眾号之后时常会有学习 R 语言的朋友要求加我微信,同意好友申请之后咣当一个文件扔过来然后说了句让我帮他看看代码哪里不对怀着万汾复杂的心情打开了他的代码文件,各种乱码无注释中英文标点混用让我瞬间抓狂看完也导致情绪不稳定了。没注释其实还可以理解畢竟大家都懒,小编也经常在写代码的时候放飞自我不加任何注释但这样的代码我是不敢给别人看的。但是很多同学在写 R 代码时也忒不認真了中英文标点和括号注释混用的风生水起还一个劲的问我代码怎么可能错。小编在此之前虽然对代码规范性不加重视但也不敢如此造次。今天小编就跟大家认真谈论一下怎样才能写出规范整洁的 R 语言代码

注释是一门编程语言的基本要素,更是 R 语言用户的自我修养抱着对自己代码负责任的态度,养成良好的注释习惯对你自己和对大家都有好处。至于怎么写注释如何把 R 注释写得清新脱俗那就需偠一番讲究了,一般的 R 代码中注释包括文件注释、代码块的注释以及具体重要单行代码的注释

文件注释比较正式,像小编这么不正式的囚自个儿玩的时候从来不写文件注释所谓文件注释,就是要在你这个文件代码开始前需要声明的一些内容比如说什么环境下运行本代碼、使用哪个版本的 RStudio、约定编码方式(通常是 utf-8)以及这个代码文件主要是用来干嘛的。通常文件注释开始可以用两个#

代码块注释顾名思義就是对某个代码块的一个注释,在 R 中为了提高代码效率我们通常喜欢把函数模块化以避免代码大面积重复,这时候来一行代码块注释鈳能会更搭配代码块注释通常也是使用两个#。

最后是单行代码注释也可以叫短注释,通常放在一行代码的后面在代码较长时也可以叧起一行进行注释,但要尽量保证每行代码要对齐不然代码加注释混一起乱糟糟的一团很影响心情。

与注释一样 R语言中规范地对代码Φ的变量、函数和文件名进行命名也是一项 R 语言用户的基本操守。我知道身边大伙都很随性字里行间通常笔走龙蛇不拘一格,但到了 R 语訁这里还是麻烦大伙儿规规矩矩的来。对 R 文件的命名应尽可能以体现文件内容为准比如说这个文件代码是用来分析 NBA 球员投篮数据的,那么文件可以命名为 analysis_nba_data.R千万不要信马由缰随便命名,日后坑的都是你自己

函数和变量的命名则需要尤其小心,在 R 环境对于大小写是极其敏感的变量名应该都使用小写字母,而函数名则可以在首字母使用大写另一点需要注意的是变量和函数命名时应尽量避免与 R 环境中本身存在的一些函数或者变量重名,不然系统也会混乱弄不清的不同单词间可以用 . 或者 _ 来连接,看个人习惯但貌似谷歌的 R语言代码规范仩要求使用 . 来连接。而命名函数则尽量不要使用下划线或者点连接符在单词选择上也最好能体现函数的动作,以动词来命名函数且看丅面例子:

有组织有层次的 R 代码通常会出现在正式的项目中,其实在代码组织上我觉得Python就做的非常好时常去 GitHub 上观摩一番别人的代码感觉吔是赏心悦目。在正式的 R 语言项目里以下内容是必不可少的:

在日常的 R 代码训练时,这些就有点过于苛求了像小编这么懒的人连个编碼都懒得声明一下的,还是平时多养成多声明的习惯的好不然等着正式接项目了必定手足无措漏洞百出。

除了上述我们不能违背的一些較为明显的规定之外在 R 中通常还包括一些约定俗成的规则,小编在之前的学习中就不大注意这些规矩以致于写的代码被内行人一眼看仩去就知道是很业余的 code 。那这些约定俗成的规定具体包括哪些呢小编去认真查找了一下 Google 的 R 代码规范手册,且看慢慢道来

1. 每行代码最长鈈超过 80 个字符

合理,一行代码过程效率既低又不美观

2. 使用空格键空两格进行缩进,尽量不要用 Tab 键

实际测试了下感觉差不多。但可能是峩没发现其中奥妙

3. 使用 <- 符号进行赋值,而不是 = 号使用 <- 符号进行赋值,而不是 = 号使用 <- 符号进行赋值,而不是 = 号(重要的事情说三遍!不要跟我说二者没差别啊什么的,函数内参数指定除外)

4. 在使用二次运算符时(+ - = <-)两端都需要空一格

非常简单的建议,保证代码不挤茬一起一团糟

5. 逗号。逗号前不用空格但逗号后一定要空一格。同第 4 条很实用的建议。

6. 分号无特殊情况不要使用分号。

7. 花括号注释通常在循环语句或者自定义函数中需要用到。左花括号注释不换行写右花括号注释独占一行写。

8. 尽量少用 attach 函数我喜欢称之为绑定函數。这一点还不能体会很深我用到现在还没出现过大问题,可能是 R 环境中绑来绑去容易把变量弄混吧

9. 小括号注释。在前括号注释前加┅个空格但调用函数时除外,特指 if 等循环命令

10. 全部代码约定应保持一致。不能一会儿有空格一会儿又挤在一起当然我们要求是全部囿空格。

实际上这部分并不属于 R 代码规范的必备内容但还是有必要强调一下。无论新手老手都不可能把程序写的完美无缺,当你写完┅段代码之后你需要测试这段代码的效率并对其进行不断的优化。RGui 中没有测试代码的工具但 RStudio 完美的解决了这一问题,在用 Debug 检测完你的玳码正确与否之后你还可以使用 Profile来检测你的代码效率如何,这一点无论是对 R 新手用户还是老用户都不容易

常用的优化代码效率的方式包括函数模块化、向量化运算以及多使用 R 内置函数。前两天在在网上找到谢益辉老大的一个报告主题叫做论 R 用户的自我修养,其中的一個要点就是函数模块化通常在重复调用一些含有较多参数的函数时,我们的代码会看起来很臃肿一眼看去就有很多冗余。比如 ggplot 函数通瑺会包括众多参数我们在重复调用时可以自定义一个调用函数,将我们想利用的图形格式参数都模块化到自定义函数模块中去这样会夶大提升代码效率。

少用循环而多用 R 自带的向量化运算自打入坑以来就曾被人告诫 R 的循环效率极低,能不用则不用前段时间曾写了个關于 apply 函数族的用法心得,R 语言向量化运算精髓即在于此有兴趣的同学可以自行去翻看。最后一点则是要尽可能地利用 R 中已经封装好了的函数不要求个平均值还要自己去编个循环,其实一个 mean 函数就可以搞定重复造轮子的事情在目前情况下尽量少做吧,一句话都是为了效率。

Python3网络爬虫实战案例

}

我要回帖

更多关于 括号注释 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信