算法设计与分析第一章作业

软工2101_陈卓玮 2022-09-04 21:00:12

个人编码规范(参考谷歌&华为)

一、命名规则(以C++为例,适用其他语言)

1)通用规则:命名有描述性,尽量少用缩写,缩写具有较强可读性。

2)项目命名:采用下划线式命名方法且少用缩写,例:Financial_Spider

3)项目内文件夹命名:采用下划线方式命名,描述该部分所包含内容,例:Model, Pipelines, Resources

4)文件命名:采用下划线式命名方法,my_useful_class.h 下滑线连接的具体描述性名字

5)变量命名:采用驼峰式命名

** 普通变量:ParamOne

** 类数据成员: TableName,结构体成员和普通变量一致

** 常量:const kTableName

** 函数:采用驼峰式命名

ValidateFuncName()

** 枚举命名:

   enum UrlTableErrors {

    kOK = 0,

    kErrorOutOfMemory,

    kErrorMalformedInput,

   };

** 宏命名:大写字母下划线式MY_MACRO_THAT_SCARES_SMALL_CHILDREN

** 命名空间:命名独特不冲突即可

PS: 对于变量命名,禁止取单个字符(如i、j、k...),建议除了要有具体含义外,还能表明其变量类型、数据类型等,但i、j、k作局部循环变量是允许的。

 

二、注释

1)在项目中应在每个文件起始处标注:作者基本信息、版权信息(如有必要)、该文件实现的主要功能或该类的基本介绍

2)在函数定义行标注 输入数据类型 输出数据类型和实现的功能

3)在需要解释的算法和流程中适当添加,增强可读性

4)全局变量要有较详细的注释,包括对其功能、取值范围、哪些函数或过程存取它以及存取时注意事项等的说明。

 

三、函数

1)函数参数顺序:输入参数在前,输入能用const就const,输出参数在后。引用参数最好都加上const,如有改变的可能,使用指针更直白

2)函数如果超过40行,就考虑能不能进一步分割

3)有类型后置的声明方法了:auto foo(int x) -> int;

4)函数默认参数和重载需要清晰,最好能做到看到调用点就知道是哪个函数

5)尽可能让每个函数只实现一个功能,尽量简化

 

四、格式(代码块)

1)一行80个字符 最长不超过120

2)正常缩进使用4个空格

3)函数返回类型和函数名在同一行,实在长,形参可以换行。参数直接换行用4个空格缩进。如果首个参数没换行,后续参数换了,和首个参数对齐

4)细节可以按照个人的爱好,如果团队有规范,优先遵循团队的规范

5程序块要采用缩进风格编写,缩进的空格数为4个,函数或过程的开始、结构的定义及循环、判断等语句中的代码都要采用缩进风格,case语句下的情况处理语句也要遵从语句缩进要求;对齐只使用空格键,不使用TAB键。

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

7

 

五、可读性

1)注意运算符的优先级,并用括号明确表达式的操作顺序,避免使用默认优先级。

2)避免使用不易理解的数字,用有意义的标识来替代。涉及物理状态或者含有物理意义的常量,不应直接使用数字,必须用有意义的枚举或宏来代替。

3)源程序中关系较为紧密的代码应尽可能相邻。

4)不要使用难懂的技巧性很高的语句,除非很有必要时。

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

 

 

《数学之美》第二章读后感

看到这本书的书名,我便猜测这本书的内容,是数学的发展历史?还是……但至少,在本人被数学这门学科折磨了数十年之后,不仅对数学的好感少了不少,对这本书的兴趣也减弱了不少。然而简单阅读之后便了解到数学在现今生活中的应用以及对于科技发展的重要意义。

在第二章“自然语言处理 — 从规则到统计”里,作者吴军讲述了能通过何种数学方法将自然语言与数字、数学联系在一起,深刻揭示了了语言与数学之间的联系和语言的本质。也介绍了自然语言处理的发展过程和历史。

而通过一些数学方法的处理之后,自然语言编码和数字、数学联系在一起,在高级计算机语言和统计语言学的发展下,在计算机计算能力的不断提升和大数据的时代背景下,许多高级的统计模型得以搭建,也正是这样,人工智能、数据挖掘、神经网络、深度学习、机器学习等为人类发展带来更多的可能性。

读这本书不仅能体会数学的美妙,不时称赞其精妙绝伦,更能洗涤心灵,让人冷静理智地分析和解决问题。亦可以认识了解自然语言处理的发展历程,拓宽视野。

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

434

社区成员

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

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