编码规范与《数学之美》第21章读后感

  • 编码规范

C++代码规范有助于提高代码的可读性、可维护性和一致性。以下是一些常见的C++代码规范,涵盖了命名、代码结构、注释等方面: 

  1. 命名规范

变量和函数命名:使用有意义的名称,通常采用驼峰命名法

类命名:通常使用首字母大写的驼峰命名法

常量命名:使用全大写字母和下划线分隔

宏定义命名:类似于常量命名,也使用全大写字母和下划线

 2. 代码结构

缩进:使用一致的缩进风格,通常为4个空格。避免使用制表符(Tab),除非团队约定使用。

空行:合理使用空行分隔代码块,使代码更具可读性。例如,在函数之间、类定义之间加空行。

3. 注释

函数注释:为每个函数提供简短的注释,说明函数的功能、参数和返回值。

代码块注释:在复杂的代码块或逻辑之前添加注释,解释其目的或实现方法。

避免多余注释:避免在显而易见的代码上添加注释,注释应解释为什么而不是做什么。

 4. 代码风格

花括号:花括号 { 在新的一行上开始,代码块结束的大括号 } 也应在新的一行上。

空格使用:操作符(如`+`、`-`)两边使用空格,逗号后面使用空格。

函数定义:函数名与参数列表之间不要有空格。

5. 错误处理

异常处理:使用标准异常处理机制,并尽可能提供有意义的错误信息。

返回值:函数应正确处理异常或错误情况,避免返回不明确的值。

 6. 内存管理

避免裸指针:尽量使用智能指针来管理动态分配的内存。

RAII原则:利用构造函数和析构函数管理资源,以确保资源的正确释放。

7. 标准库

使用标准库:优先使用C++标准库提供的功能,避免自定义实现。

  • 《数学之美》读后感

在《数学之美》的第21章拼音输入法的数学原理里,我大概懂得了拼音输入法的工作原理。在这一章里提到对汉字的编码分为两部分,一是对拼音的编码,二是消除歧义性的编码,这两个部分决定着汉字编码的长度。但在早期,人们只注重第一部分而忽视了第二部分。双拼输入法节省了拼音的编码的长度,但其歧义性也增加了,会导致在筛选汉字时可能需要不停翻页。并且它的容错性不好,由于前后鼻音和卷舌音的问题,如果我们对汉字的音节不够了解,会对我们造成适用的麻烦,所以说对部分的人不太适用。相应的汉字编码相对较长的全品输入法就不会有这个问题,最终被用户选择。

在这一章中还提到了香农第一定律,用来分析输入一个汉字需要敲多少个键的问题。该定律指明,对于一个信息,任何编码的长度都不小于它的信息熵。文章中比较了一个汉字和一个词语的平均输入一个字的信息熵,可以看出输入词组的方法更小。且如果建立了统计语言模型,会使得信息熵更小,输入的速度更快。

拼音转汉字的算法是动态规划,与在导航中寻找最短路径的算法相同,它们背后的数学模型是完全一样的。这体现了数学之美,数学的妙处在于它的每一个工具都具有相当的普遍性,在不同的应用中都可以发挥很大的作用。

此外,书中还提到了个性化的语言模型,让我看到了未来输入法的发展方向。每个人的用词习惯和写作风格都是独特的,如果输入法能够根据用户的输入习惯进行个性化调整,那么无疑会大大提升用户的输入体验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值