算法第一章作业
本学期编码规范总结与《数学之美》读后感
作者:冯智宁
日期:2025.10.18
本学期的主要编码规范:
在接触编程的初期,我的信条很简单:代码只要能正确运行,就是好代码。然而,随着本学期项目规模的扩大和团队协作的增多,我逐渐意识到,代码不仅仅是写给机器执行的指令,更是写给人(包括未来的自己)阅读的“文章”。于是,我主动上网查阅并学习了主流的编码规范,并将其确立为本学期我努力遵循的准则。我主要参考了 网上的一些参考指南,并结合我们课程主要使用的语言C++,总结出以下我重点实践的几点规范:
1. 命名规范:
我放弃了
a
、tmp
这类模糊命名,采用具有明确意义的名称:变量与函数:使用蛇形命名法(
snake_case
),如 student_names
、is_valid
、calculate_total()
。类与结构体:使用帕斯卡命名法(
PascalCase
),如 StudentManager
、HttpRequest
。常量:使用全大写(
UPPER_CASE
),如 MAX_SIZE
。体会:规范的命名让代码自解释,显著提升了可读性和维护性,使类型和作用域一目了然
2. 代码格式:让结构一目了然
好的代码格式让程序结构更清晰。我主要遵循这些规范:统一缩进:坚持用4个空格进行缩进,保持整个项目一致
善用空行:在函数、类定义和逻辑块之间加空行分隔,让代码有"呼吸感"
控制行宽:每行控制在100字符以内,避免水平滚动
体会:整洁的格式让我读代码时心情舒畅,团队协作时也更轻松,大家遵循同一套规则,沟通成本大大降低。
3. 注释:
我现在学会了写"有用"的注释:解释为什么:代码本身说明"怎么做",注释重点解释"为什么这么做"
删掉废代码:用Git管理版本,不再保留大段被注释的代码
写好文档注释:为每个函数和类写清楚功能、参数和返回值
体会:注释贵在精不在多。在复杂算法旁写下"这里用动态规划解决子问题重叠",既帮助队友理解,也加深自己的印象。
总结
遵循规范一开始确实有点麻烦,但习惯后就成自然了。这让我的代码从"随意发挥"变成了"专业水准",不仅质量更可靠,团队协作也顺畅多了。这学期最大的收获就是明白了:好代码不仅要能运行,更要易读易维护。阅读《数学之美》感兴趣的章节的感想和体会
第二章:自然语言处理——从规则到统计
这一章让我看到了技术思想的根本转变。早期科学家试图用语法规则教会计算机理解人类语言,结果陷入困境。而贾里尼克用统计语言模型处理语音识别,开辟了新路——不再纠结于“符合语法”,而是计算句子出现的概率。这让我联想到C++编程。以前总想为每个问题设计“完美”的架构,结果往往过度设计。现在更倾向于用简单的数据结构加统计思路解决问题——比如用哈希表统计词频,既直接又有效。
体会:最美的数学,就是用简单方法解决复杂问题。从追求完美规则到接受概率模型,这种思维转变在编程中同样重要——解决问题,比追求形式上的完美更有价值。