算法第一章作业(编码规范与心得体会)

软件工程2201唐珂 2022级 2023-09-10 20:00:52

编码规范(摘选自知乎《华为C语言编程规范》)

代码总体原则

1、清晰第一

清晰性是易于维护、易于重构的程序必需具备的特征。代码首先是给人读的,好的代码应当可以像文章一样发声朗诵出来。

目前软件维护期成本占整个生命周期成本的40%~90%。根据业界经验,维护期变更代码的成本,小型系统是开发期的5倍,大型系统(100万行代码以上)可以达到100倍。业界的调查指出,开发组平均大约一半的人力用于弥补过去的错误,而不是添加新的功能来帮助公司提高竞争力。

一般情况下,代码的可阅读性高于性能,只有确定性能是瓶颈时,才应该主动优化。

2、简洁为美

简洁就是易于理解并且易于实现。代码越长越难以看懂,也就越容易在修改时引入错误。写的代码越多,意味着出错的地方越多,也就意味着代码的可靠性越低。因此,我们提倡大家通过编写简洁明了的代码来提升代码可靠性。

废弃的代码(没有被调用的函数和全局变量)要及时清除,重复代码应该尽可能提炼成函数。

3、选择合适的风格,与代码原有风格保持一致

产品所有人共同分享同一种风格所带来的好处,远远超出为了统一而付出的代价。在公司已有编码规范的指导下,审慎地编排代码以使代码尽可能清晰,是一项非常重要的技能。 如果重构/ / 修改其他风格的代码时,比较明智的做法是根据 现有 代码 的 现有风格继续编写代码,或者使用格式转换工具进行转换成公司内部风格。


排版与格式

1、程序块采用缩进风格编写, 每级缩进为4个空格

2、相对独立的程序块之间、变量说明之后必须加空行

3、一条语句不能过长,如不能拆分需要分行写。一行到底多少字符换行比较合适,产品可以自行确定

对于目前大多数的PC来说,132比较合适(80/132是VTY常见的行宽值);对于新PC宽屏显示器较多的产品来说,可以设置更大的值。换行时有如下建议:

  • 换行时要增加一级缩进,使代码可读性更好;
  • 低优先级操作符处划分新行;换行时操作符应该也放下来,放在新行首;
  • 换行时建议一个完整的语句放在一行,不要根据字符数断行

4、多个短语句(包括赋值语句)不允许写在同一行内 ,即一行只写一条语句

5、if 、 for 、 do 、 while 、 case 、 switch 、 default 等语句独占一行

执行语句必须用缩进风格写,属于if、for、do、while、case、switch、default等下一个缩进级别;

一般写if、for、do、while等语句都会有成对出现的„{}‟,对此有如下建议可以参考:if、for、do、while等语句后的执行语句建议增加成对的“{}”;如果if/else配套语句中有一个分支有“{}”,那么另一个分支即使一行代码也建议增加“{}”;添加“{”的位置可以在if等语句后,也可以独立占下一行;独立占下一行时,可以和if在一个缩进级别,也可以在下一个缩进级别;但是如果if语句很长,或者已经有换行,建议“{”使用独占一行的写法。

6、在两个以上的关键字、变量、常量进行对等操作时,它们之间的操作符之前、之后或者前后要加空格 ; 进行非对等操作时,如果是关系密切的立即操作符(如-> > ),后不应加空格

采用这种松散方式编写代码的目的是使代码更加清晰。

在已经非常清晰的语句中没有必要再留空格,如括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为在C语言中括号已经是最清晰的标志了。在长语句中,如果需要加的空格非常多,那么应该保持整体清晰,而在局部不加空格。给操作符留空格时不要连续留两个以上空格。

1、逗号、分号只在后面加空格。

2、比较操作符, 赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格。

3、"!"、"~"、"++"、"--"、"&"(地址操作符)等单目操作符前后不加空格。

4、"->"、"."前后不加空格。

5、if、for、while、switch等与后面的括号间应加空格,使if等关键字更为突出、明显。

7、注释符(包括/**/、//)与注释内容之间要用一个空格进行分隔

8、源程序中关系较为紧密的代码应尽可能相邻

 

《数学之美》读后感

整体读后感(包括联系生活的领悟)

  数学是自由的,它包含着创造。数学创造智慧,数学也参与着我们的生活。《数学之美》一书中用很多通俗易懂、贴近生活的例子向我们讲述了很多数学原理的应用场景。所用的数学模型是那么简单,效果又是如此显著,看了之后让人拍手叫绝。与此同时,我也注意到数学与编程的联系,一个好的数学模型,可以直接优化整个算法。数学是多么奇妙的一门学科,只有你想不到,没有数学做不到。

 

...全文
25 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

273

社区成员

发帖
与我相关
我的任务
社区描述
广东外语外贸大学信息科学与技术学院
算法 高校
社区管理员
  • brisksea
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧