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

算法第一张作业

一、代码规范
对于大学生来说,不需要一开始就追求大公司那样面面俱到的规范,但也要抓住以下几个核心要点:

  1. 命名规范,这是最重要、也是最容易见效的一条。
    (1)变量/函数名:使用有意义的英文单词,不要用拼音或a, b, c。
    坏: int a, b; String s1;
    好: int studentCount; String userName;
    (2)使用正确的命名风格:
    小驼峰:用于变量和函数名。如 getUserInfo(), studentGrade
    大驼峰:用于类名和接口名。如 StudentManager, HomeworkSolution
    常量:全大写,下划线分隔。如 MAX_CONNECTION, DEFAULT_TIMEOUT
    私有变量/方法:可以用下划线开头(尤其在Python/JS中),如 _private_variable
    (3)做到“见名知意”:
    坏: function process()
    好: function calculateAverageScore()
  2. 注释规范,告诉别人(和未来的自己)“为什么”这么做
    (1)文件头注释:在每个源文件开头,说明作者、创建日期、文件的主要功能。
    (2)函数/方法注释:说明函数的目的、参数、返回值和可能的异常。
    (3)行内注释:在复杂或关键的逻辑旁添加简要说明,解释“为什么”要这样写,而不是“是什么”。
    3.格式与排版,干净的排版能极大提升代码的可读性。
    (1)统一的缩进:强烈建议使用4个空格代替Tab键,并在编辑器中设置好。
    (2)适当的空行:用空行来分隔不同的逻辑块,比如在函数之间、变量定义和执行代码之间。
  3. 函数/方法设计,单一职责原则
    (1)短小且专注:一个函数只做一件事,并且把它做好。
    坏: 一个processData()函数里又读文件、又计算、又打印结果。
    好: 拆分成 readDataFromFile(), calculateAverage(), printReport() 三个函数。
    (2)参数不宜过多:如果参数太多(比如超过4个),考虑是否可以将它们封装成一个对象(如Config对象)。
  4. 错误处理 - 让程序更健壮
    (1)不要忽略异常:即使只是简单打印一下,也比直接“吞掉”好。
    坏: try { ... } catch (Exception e) { } // 空的catch块是万恶之源
    好: try { ... } catch (FileNotFoundException e) { log.error("文件未找到", e); }
    (2)返回有意义的值:对于C/Python等语言,函数执行失败时不要返回一个模糊的值,可以返回None、-1,或者直接抛出异常。

二、数学之美读后感
读完《数学之美》第17章,我对“简单”二字有了新的认识。这一章通过实例展现了简单数学模型解决复杂问题的力量,让我联想到大一学过的《数据结构》。书中提到,看似朴素的算法往往最有效——这不正是KMP匹配或哈希查找背后的哲学吗?
作为计算机专业学生,我常陷入追求复杂技术的误区。这一章却点醒我:真正优雅的程序设计,应当是用最简单的数学工具直击问题本质。就像用余弦定理做新闻分类,用布尔代数处理搜索——数学的简洁之美,恰恰是构建复杂系统的基石。这让我决心在后续课程中,更注重理解基础理论的内在美感,而不仅是实现功能。

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

相关文章:

  • 【高级算法】单调队列优化动态规划
  • MySQL CentOS7 本地安装
  • TypeScript装饰器 - Ref
  • 【笔记】排列与组合学习笔记
  • 【高级数据结构】线段树
  • 【高级数据结构】ST 表
  • 【高级算法】树形DP
  • 【高级数据结构】浅谈最短路
  • C++_基础
  • 2025电位仪厂家最新企业品牌推荐排行榜,纳米粒度及 Zeta 电位仪,Zeta 电位仪公司推荐
  • PCIe扫盲——物理层逻辑部分基础(二)
  • 前沿仿真未来趋势
  • StarRocks与Apache Iceberg:构建高效湖仓一体的实时分析平台 - 详解
  • 斑马打印机打印头更换教程
  • 构造中国剩余定理方程组的解
  • 2025粒度仪厂家最新品牌推荐榜,喷雾粒度分析仪, 激光粒度仪,激光粒度分析仪,纳米粒度仪公司推荐
  • MTK oppoR9m Smart Phone flash Tool 提示 ERROR: STATUS_ABORT(0xC0010002)
  • 二分图最大匹配 Dinic/EK算法
  • 基本Dos指令
  • 2025 年酒店一次性用品源头厂家最新推荐排行榜:含牙签牙线筷子套杯盖杯垫杯套外卖筷子印刷房卡套信封用品优质供应商盘点
  • 2025餐饮一次性用品厂家最新推荐排行榜:聚焦资质口碑与产品实力,助力餐饮企业精准选品!
  • 2025工伤诉讼律师事务所推荐:北京市信之源律所专业维权值得
  • 2025小程序开发公司最新推荐榜,优选杭州网博科技,兼顾用户体验与传播效果
  • 2025企业合同律师事务所推荐:北京信之源律所,专业靠谱之选
  • MTK oppoR9m Smart Phone flash Tool 提示 ERROR: STATUS_PRELOADER_INVALID(0xC0030004)
  • Docker 部署 PostgreSQL 数据库教程
  • 2025年软件外包平台解析:10个不同定位的真实情况
  • P3574 题解 | 贪心,树形 dp
  • 爱,在行动中生长,我们因爱而变得辽阔——《岛上书店》读后感
  • Ubuntu 下同名文件替换后编译链接到旧内容的现象分析 - 实践