25上第一周

news/2025/9/17 18:25:03/文章来源:https://www.cnblogs.com/ant-shine/p/19097273

《数学之美》第三章以“语言模型与中文信息处理”为核心,通过讲述统计语言模型如何破解中文分词、语音识别等难题,展示了数学在解决复杂问题时的优雅与力量。作者用“马尔可夫链”将看似无序的汉字序列转化为可计算的概率问题,这种化繁为简的思维令我得到了许多感悟。尤其当读到“分词歧义”案例时——比如“南京市长江大桥”可能被误切为“南京/市长/江大桥”——我意识到数学模型居然是精准捕捉人类语言模糊性的“翻译器”。这种“用概率对抗不确定性”的思想,让我重新审视了数学与生活的关系:原来高深的隐马尔可夫模型,本质竟与日常判断“明天是否下雨”的逻辑相通。我收获甚多。
大公司的编码规范和对自身的启发:
一、命名规范

  1. 见名知意:不使用拼音、缩写,统一英文全称。
  2. 大小写风格
    • Java/C++:类名 UpperCamelCase,方法/变量 lowerCamelCase,常量 UPPER_SNAKE_CASE
    • C#:类名、方法名 PascalCase,局部变量 camelCase
  3. 包/命名空间:反域名法 com.company.project.feature,全部小写,禁止下划线。
  4. 禁用“魔鬼数字”,必须抽成具名常量。
    二、排版与格式
  5. 缩进:4 空格,禁用 Tab(Google、腾讯、阿里均硬性要求)。
  6. 行宽:80–120 字符,超长在低优先级操作符处换行,操作符放行首。
  7. 大括号:左括号不换行(Google Java),独立一行(腾讯 C++)——各厂风格二选一,关键是同仓库只准用一种。
  8. 空行:
    • 包/导入/类三个区段间各空一行;
    • 成员变量、构造器、方法之间各空一行;
    • 同一方法内逻辑段落之间空一行。
  9. 一行只写一条语句,禁止 a = 1; b = 2; 这种并列。
    三、注释与文档
  10. 文件头:版权、作者、创建/修改日期、功能描述、修改日志。
  11. 函数头:目的、参数含义、返回值、异常场景、调用关系。
  12. 行尾注释仅用于“魔法值”解释;不得陈述显而易见代码。
  13. 公有 API 必须配套 README.md / javadoc / doxygen,并能一键生成站点。
    四、异常与日志
  14. 禁止“吞噬”异常:catch 后必须记录或向上抛。
  15. 日志分级:TRACE / DEBUG / INFO / WARN / ERROR;线上禁止 DEBUG。
  16. 日志内容:
    • 包含会话 ID、用户 ID、耗时、结果码;
    • 禁止输出密码、Token 等敏感字段。
  17. 失败场景必须打印栈堆(logger.error("msg", e)),禁止 e.printStackTrace()
    五、并发与安全
  18. 共享变量 100% 加锁或使用 volatile/Atomic;禁止“双检锁”手写懒汉。
  19. 资金/计费相关代码必须“先写单元测试,再写实现”。
  20. 对外接口默认“防重放”:时间戳 + 随机数 + 签名,有效期 ≤5 min。
  21. 敏感数据:
    • 内存中存储超 5 s 必须清零;
    • 日志、快照、Core dump 自动脱敏。
      六、性能与效率
  22. 禁止在热循环里做字符串拼接,一律用 StringBuilder
  23. 集合初始化必须指定容量:new ArrayList<>(预估大小)
  24. 数据库批量操作:单表批插 ≥50 条走 Batch,禁止 for-loop 单条插。
  25. 线程池不允许 Executors.newFixedThreadPool() 直接创建,必须通过 ThreadPoolExecutor 显式给出拒绝策略与队列大小。
    七、单元测试与持续集成(“没过测试=没写”)
  26. 单测覆盖率:新增代码 ≥80%,核心链路 ≥95%。
  27. 一个函数>10 行或含 if/loop,必须配至少一条负面测试(异常输入)。
  28. 禁止注释掉失败用例,必须修复或删除。
  29. Master 分支强制 CI 通过 + Code Review 两 LGTM 才能合并。
    八、Code Review 红线
  • 出现硬编码密码、私钥。
  • 把异常吞掉后返回 null/0。
  • 日志打印敏感信息。
  • 上线调试代码未删除(System.out.println / console.log)。
  • 并发集合被同步关键字再包一层(“锁上加锁”)。
    九、多语言差异速览
  • Google Java:import 禁止通配符;类成员按“静态变量→实例变量→构造器→方法”顺序排列。
  • 微软 C#:行宽 65 字符(历史遗留),private 字段加 _ 前缀。
  • 腾讯 C/C++:函数名用“动-名”结构 GetUserInfo;常量全大写;if/for 即使单句也必须加大括号。
  • 阿里 Java:《泰山手册》强制“三目运算符禁止嵌套”“包装类比较用 equals”。
    十、落地建议(学生/小团队也能用)
  1. 先选 1 份公开规范(如 Google Java Style)作基线,放到 docs/coding-style.md

  2. .editorconfig + checkstyle/eslint/clang-format 做“提交即自动格式化”,把“风格争吵”交给机器。

  3. MR 模板里放一条 checklist:

    • 命名符合规范
    • 新增/修改有单测
    • 本地构建通过

    让 Reviewer 只关注业务逻辑,而不是括号位置。

只要做到“命名一致、排版统一、异常不吞、日志脱敏、单测通过”,才能摸到大厂内部规范的“及格线”。对自己有编码规范的目标,就必须时刻努力做到这些规范,作为一名大二学生,我在这个学期将在能力范围内根据任务所需严格遵守用到的规范。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/906717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入解析:RxJava在Android中的应用

深入解析:RxJava在Android中的应用pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; …

模型选择与配置说明

模型选择与配置说明(Detection / Recognition / Classification) 本文系统说明本项目在“检测(det)/识别(rec)/分类(cls)”三条子任务上的模型选择思路、备选方案对比、输入尺寸与性能取舍、部署格式(ONNX/MNN)、以及在 GUI 与代码层面的配置方式。目标是让读者理解“…

002_文本分类任务的问答

1、下面代码中,random_state作为随机种子作用是什么? train_x, valid_x, train_y, valid_y = model_selection.train_test_split(trainDF[text], trainDF[label], test_size=0.25, random_state=42)这段代码的作用是随机把数据分为两个部分 计算机的“随机数”其实是 伪随机数…

车牌识别

车牌识别方案对比与实现总结(GUI 三方法:lock / test / rec2) 本文面向实际工程应用,系统梳理当前 GUI 集成的三种车牌识别方法(lock、test、rec2)的技术亮点、设计思路、模型选择、实现过程与关键代码,帮助快速理解与持续优化。目标是:在统一界面中,对比“传统候选+文…

告别人工标注瓶颈!Reward-RAG:用 CriticGPT 打造更懂人类偏好的检索模型

Reward-RAG: Enhancing RAG with Reward Driven Supervision 全文摘要 本文介绍了一种名为Reward-RAG的新方法,旨在通过奖励驱动监督增强Retrieval-Augmented Generation(RAG)模型。与以往的RAG方法不同,该方法使用了CriticGPT训练了一个专门的奖励模型,并利用该模型生成合…

Latex 中百分号怎么打

Latex 中百分号怎么打 由于 % 被用作注释符,所以前面 + \ 进行转义 \(\frac{285.5}{1-2.7\%}\)

文件上传-条件竞争绕过

条件竞争原理: 条件竞争的逻辑是代码逻辑问题:当我们文件上传到服务器时,先对文件进行保存,然后对文件的后缀名进行判断,符合白名单的保存,不符合就删除,但在删除之前,有另一个对服务器发起的请求,要访问这个文件,那么就可能造成文件被读取和访问。这就是条件竞争。 …

9.17 CSP-S模拟23/多校A层冲刺NOIP2024模拟赛19 改题记录

HZOJ 写在前面 连着三天吃三坨。本来想着今天大凶忌参加模拟赛然后没模拟赛挺好的,然后7:57临时通知加场,难道这就是大凶?好吧打就打吧,没想到真差点爆零。粗看没一道题可做怀疑自己的水平了然后赛后猛然醒悟是自己蠢如猪。其实这篇前面应该还有两篇,但是奈何这套改完得比…

Java基本语法

Java基本语法Day04 今天内容大部分在复习运算符的内容和分支语句练习题 复习运算符: 运算符:+ - + - * / % (前)++ (后)++ (前)-- (后)-- + 算术运算符: 【特别说明的】 1.//(前)++ :先自增1,后运算 //(后)++ :先运算,后自增1 2.//(前)-- :先自减1,后运算 //(后)-- :先运算,…

在AI技术快速实现创想的时代,挖掘前端学习新需求成为关键——某知名编程教育平台需求洞察

本文分析了一个包含50个前端项目的编程学习资源,涵盖交互设计、动画效果和实用工具等多种类型,通过用户反馈发现了界面优化、功能扩展和教学改进等方面的潜在需求。a.内容描述 该项目是一个包含50个独立前端项目的编程学习资源,核心功能定位在于通过实际项目练习帮助开发者掌…

IvorySQL 与 deepin 完成兼容性认证,共创开源生态新篇章

近日,IvorySQL 与 deepin 操作系统成功完成了兼容性适配认证。这一里程碑式的成就标志着 IvorySQL 在国产操作系统生态中的进一步深化,为用户提供更稳定、高效的数据库解决方案。deepin 简介 深度操作系统 deepin 是一款以“简洁、美观、易用”著称的国产 Linux 发行版,拥有…

在 Nginx 上搭建静态站点

1、新建站点的配置文件 vi /etc/nginx/conf.d/www.xxx.com.conf2、写入如下内容: server {listen 80;#listen [::]:80;server_name www.xxx.com; # 这里可以写你的域名,或者 _ 表示匹配所有 root /var/www/www.xxx.com; # 你的静态文件目录 index index.html index.htm;locat…

kylin SP3安装mysql 8.4.5

环境:OS:kylin SP3mysql:8.4.5 glibc2.17,建议安装glibc.2.28版本 查看系统glibc版本[root@localhost ~]# ldd --versionldd (GNU libc) 2.28Copyright (C) 2018 自由软件基金会。这是一个自由软件;请见源代码的授权条款。本软件不含任何没有担保;甚至不保证适销性或者适合某…

Unity中是否可以禁用GC

1)Unity中可以禁用GC吗2)项目是URP管线,渲染模块CPU耗时高,经排查主要是Batches数过高,应怎样进一步排查和优化渲染批次这是第445篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。 UWA社区主页:co…

经典SQL语句大全

经典SQL语句大全一、基础1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice disk, testBack, c:\mssql7backup\MyNwind_1.dat--- 开始 备份BACKUP D…

Rhinoceros 8.23.25251.13001 犀牛3D建模

描述 Rhinoceros 是由美国Robert McNeel公司最新出品的专业强大的3D建模软件。软件以集百家之长为一体的发展教育理念,拥有NURBS的优秀传统建模教学方法,也有一个网格进行建模插件T-Spline,使建模方式方法有了更多的挑选,然后能创建出更传神、生动的造型。能输入和输出几十…

《深入理解计算机系统》计算机系统漫游(一) - Invinc

本文记录《深入理解计算机系统》中第1章 计算机系统漫游 的一些知识点。本文记录《深入理解计算机系统》中第1章 计算机系统漫游 的一些知识点。第1章 计算机系统漫游 信息就是位+上下文 系统中所有的信息——包括磁盘文件、内存中的程序、内存中存放的用户数据以及网络上传送的…

从几何分离到语义理解:深度解析3D点云分割与语义分割的本质区别

在三维计算机视觉领域,3D点云作为真实世界场景的核心数据载体,其处理技术直接决定了机器感知环境的精度与效率。 其中,3D点云分割与语义分割是两类关键技术,尽管二者同属点云处理范畴,但在目标定位、信息输出与应用价值上存在本质差异。 前者专注于“几何层面的分离”,通…

欧拉筛(线性筛)算法分析

前言对于寻找素数,第一时间想到的便是二重循环暴力查找,其复杂度O(n^2),通过循环中只判断到根号n可以优化一些,不过复杂度也达不到预期。在数论的学习中,我学到了埃氏筛法,O(nloglogn)的算法,而在一些数据范围达到1e7这样的题目中,也很难让人满意,于是我便学习了欧拉筛…

2021年安徽省大数据与人工智能应用竞赛 大数据(网络赛)-高职组赛题

本套数据数据: 通过网盘分享的文件: 链接: https://pan.baidu.com/s/1ZQXoWQhCOAiGVcFOZozV1g?pwd=json 提取码: json 第二部分:大数据程序编写部分(30分) 任务一、数据抽取转化部分(5分) 1、使用sqoop将MySQL的sakila数据库中的city表中city列以C开头的数据导入到hdfs…