当前位置: 首页 > news >正文

《算法设计与分析》第一章学习记录

一、互联网大公司的编码规范
核心目标是协同、质量、效率与安全。
1.命名规范
变量、函数、类名必须能清晰地表达其意图,避免使用 a, b, c, tmp 等无意义名称。严格遵守 camelCase、PascalCase、snake_case 等约定,并在整个项目中保持一致。
2.注释规范
所有公开的函数、类、模块都必须有详细的注释,说明其功能、参数、返回值和可能的异常。注释应解释代码的意图和原因,而不是描述代码本身在做什么。

二、大学生的入门编码规范
对于初学者,目标不是一下子掌握所有公司级的复杂规范,而是建立一个坚实、正确的基础,核心目标是养成良好习惯、写出可读可运行的代码。重点是理解“为什么”要这么做,为未来进入工业界打下基础。
1.代码风格与可读性

(1)有意义的命名:
变量名用名词(如 userName, studentList)。
坚决不用拼音缩写、a1, a2 等无意义的名字。

(2)一致的缩进和空格:
选择一种缩进风格,并在整个文件中保持一致。通常使用 4个空格 或 2个空格。
操作符两边加空格,如 int sum = a + b;。

(3)适当的空行:
用空行将逻辑相关的代码段分组,增加可读性。

2. 基础代码结构

(1)函数要短小且功能单一:
一个函数最好只完成一个明确的任务。如果函数太长(比如超过50行),就想办法拆分成几个小函数。

(2)避免魔法数字:
不要在代码中直接写 3.14159, 60 这样的数字。应该定义成有名字的常量,如 final double PI = 3.14159。

(3)基本的注释:
在文件开头注释说明程序是做什么的。
在复杂的算法或逻辑块前写上注释,解释你的思路。

阅读《数学之美》第八章“简单之美 — 布尔代数和搜索引擎的索引”的感想和体会
将复杂的自然语言查询(如“我想了解人工智能的应用但不包括机器人”),转换成一个严格的布尔运算表达式(人工智能 AND 应用 NOT 机器人),这是一个决定性的飞跃。它把一个语义模糊的问题,变成了一个可以由计算机精确、高速执行的数学问题。这种将现实问题映射到数学模型的能力,是工程学的精髓,也是我今后学习算法设计这门课程的重点内容,更是我未来的工作所需要用到的核心能力。

http://www.hskmm.com/?act=detail&tid=26985

相关文章:

  • nestjs 和 nextjs 分别是做啥的
  • 定时收集TCM数据并生成Excel报表并上传
  • 2025.10 国庆集训模拟赛总结
  • 详细介绍:https和http有什么区别-http各个版本有什么区别
  • CF2150F Cycle Closing
  • Easysearch 字段隐身之谜:source_reuse 与 ignore_above 的陷阱解析
  • QOJ856 Cactus 广义串并联图
  • CF2152 订题
  • 静态路由
  • Kruskal 重构树学习笔记
  • GJ Round 2025赛季
  • ASP.NET Core 中读取 UserAgent 的正确姿势
  • vLLM推理加速指南:7个技巧让QPS提升30-60%
  • Git学习记录(二):代码patch
  • 2025年10月化妆品代工厂最新推荐排行榜:聚焦 OEM/ODM/ 网红爆款需求,精选优质企业助品牌高效合作
  • Exchange安全漏洞分析:ProxyOracle攻击链详解
  • 牛客 周赛111 20251008
  • 本人于2025上半学期编码需要遵守的规范(参考腾讯内部编码规范)
  • 10.8 CSP-JS 模拟赛 T5. xor
  • 防抖 解释
  • 从零到一搭建:vue3+vite7+antfu+stylelint+githooks,全流程配置,附带源码,集成css变量使用,下载即用
  • bat批处理脚本文件-获取当前时间的几种方法
  • 二分图最大权完美匹配 KM算法
  • 2025.10.8模拟赛
  • Python 中的排序排序函数及区别
  • RL | 速读 IJCAI 2025 的强化学习论文
  • IDM弹窗解决 - -一叶知秋
  • PHP+MySQL开发语言 在线下单订水送水小脚本源码及搭建指南
  • Sliding Window Algorithm
  • 国庆模拟赛总结