面向亿行 C/C++ 代码的静态分析系统设计及实践-肖枭面向亿行C/C++代码的 静态分析系统设计及实践 肖枭 自我介绍 2016年香港科技大学取得博士学位 过去10年一直以极高的热情从事静态 分析技术的学术用研究 合作创办源伞科技,致力于推动静态 分析技术在企业中的应用 目录 代码质量管理是个大问题 静态分析+代码评审的实践 学习和强调,红线和惩罚,100%的测试 覆盖率,和事后复盘并不够 有经验的程序员也会犯错 对代码提要求很难监督落实 代码的快速变化使质量更难管 生产质量是责任 靠运维和事后复盘善后够吗? 静态分析工具:半智能的代码分析机器人 静态分析辅助代码评审 自动化工具+流程才是未来 Bug! Thx! Bug! 投入大 KPI不痛不痒 使用主体和责任主体不一致 一步登天想要终极AI 代码质量改进工具、流程落地难 Bug! No Thx! DevOps: 代码质量责任应该左移 代码质量责任应该左移 设计 代码 开发 代码 评审 入库 测试 发布 1. 非研发人员主导,沟通成本高,推动修复周期长 2. 很难形成标准推动研发实施 3. 形成技术债,偿债成本高 1. 代码签入前,研发人员有义务修复问题 2. 测试人员早期加入,更懂项目研发的情况,沟通成本低,加快上线 3. 能逐步形成好的编码规范和最佳实践 检查代码风格问题挺准,但是 我warning都不看,还看这个?0 码力 | 39 页 | 6.88 MB | 1 年前3
Hello 算法 1.1.0 C++ 版Hello 算法 C++ 语言版 作者:靳宇栋(@krahets) 代码审阅:宫兰景(@Gonglja) Release 1.1.0 2024‑04‑15 序 两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、 书并非完全“免费”。为了不辜负你为本书所付出的宝贵“注意力”,我会竭尽所能,投入最大的“注意力” 来完成本书的创作。 本人自知学疏才浅,书中内容虽然已经过一段时间的打磨,但一定仍有许多错误,恳请各位老师和同学批评 指正。 本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。 动画在 PDF 内的展示效果受限,可访问 hello‑algo.com 网页版以获得更优的阅读体验。 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码示例,使读者理解算法和数据结构的核心概念,并能够通 过编程来实现它们。在此基础上,本书致力于揭示算法在复杂世界中的生动体现,展现算法之美。希望本书 能够帮助到你! i 目 录 第 0 章 前言0 码力 | 379 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0 C++版Hello 算法 C++ 语言版 作者:靳宇栋(@krahets) 代码审阅:宫兰景(@Gonglja) Release 1.0.0 2024‑02‑09 序 两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、 书并非完全“免费”。为了不辜负你为本书所付出的宝贵“注意力”,我会竭尽所能,投入最大的“注意力” 来完成本书的创作。本人自知学疏才浅,书中内容虽然已经过一段时间的打磨,但一定仍有许多错误,恳请 各位老师和同学批评指正。 本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。动画在 PDF 内的 展示效果受限,可访问 hello‑algo.com 网页版以获得更优的阅读体验。 前言 � 算法犹如美妙的交响乐,每一行代码都像韵律般流淌。 愿这本书在你的脑海中轻轻响起,留下独特而深刻的旋律。 第 0 章 前言 hello‑algo.com 2 0.1 关于本书 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Python、C+0 码力 | 378 页 | 17.59 MB | 1 年前3
Hello 算法 1.0.0b5 C++版,但会引导你探索数据结构与算法的“知 识地图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信 你可以更加自如地应对刷题和阅读文献,逐步构建起完整的知识体系。 本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。动画在 PDF 内的 展示效果受限,可访问 hello‑algo.com 网页版以获得更优的阅读体验。 czruby, gltianwen, liuxjerry, yabo083. 本书的代码审阅工作由 Gonglja, gvenusleo, hpstory, justin‐tse, krahets, nuomi1, Reanon, sjinzh 完 成(按照首字母顺序排列)。感谢他们付出的时间与精力,正是他们确保了各语言代码的规范与统一。 i 目 录 第 0 章 前言 1 0.1 关于本书 . 前言 � 算法犹如美妙的交响乐,每一行代码都像韵律般流淌。 愿这本书在你的脑海中轻轻响起,留下独特而深刻的旋律。 第 0 章 前言 hello‑algo.com 2 0.1 关于本书 本项目旨在创建一本开源免费、新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂、学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Java、C++、P0 码力 | 377 页 | 30.69 MB | 1 年前3
Hello 算法 1.2.0 简体中文 C++ 版Hello 算法 C++ 语言版 作者:靳宇栋(@krahets) 代码审阅:宫兰景(@Gonglja) Release 1.2.0 2024‑12‑06 序 两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、 书并非完全“免费”。为了不辜负你为本书所付出的宝贵“注意力”,我会竭尽所能,投入最大的“注意力” 来完成本书的创作。 本人自知学疏才浅,书中内容虽然已经过一段时间的打磨,但一定仍有许多错误,恳请各位老师和同学批评 指正。 本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。 动画在 PDF 内的展示效果受限,可访问 www.hello‑algo.com 网页版以获得更优的阅读体验。 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码示例,使读者理解算法和数据结构的核心概念,并能够通 过编程来实现它们。在此基础上,本书致力于揭示算法在复杂世界中的生动体现,展现算法之美。希望本书 能够帮助到你! i 目 录 第 0 章 前言0 码力 | 379 页 | 18.48 MB | 10 月前3
Cooperative C++ EvolutionC++11/14/17/20/23 TypeScript Swift ES 2-10 (except 4) C99/11/17, Python 2.x(C) Incompatible NewLang (“Dart plan”) Default for new invention Competitive Limited interop w/Lang Source/binary incompatible D*, .NET*, Rust*… — C++11/14/17/20/23 Dart* ES 4, Python 3 TypeScript Swift ES 2-10 (except 4) C99/11/17, Python 2.x(C) Incompatible NewLang (“Dart plan”) Default for new invention Competitive D*, VB.NET*, Rust*… — C++11/14/17/20/23 Dart* ES 4, Python 3 TypeScript Swift ES 2-10 (except 4) C99/11/17, Python 2.x(C) Incompatible NewLang (“Dart plan”) Default for new invention Competitive0 码力 | 85 页 | 5.73 MB | 6 月前3
Hello 算法 1.2.0 繁体中文 C++ 版在 VS Code 的擴充功能市場中搜索 typescript ,安裝 Pretty TypeScript Errors 。 9. Dart 環境 1. 下載並安裝 Dart 。 2. 在 VS Code 的擴充功能市場中搜索 dart ,安裝 Dart 。 10. Rust 環境 1. 下載並安裝 Rust 。 2. 在 VS Code 的擴充功能市場中搜索 rust ,安裝 rust‑analyzer 部分名詞在簡體中文和繁體中文下的叫法不同。 表 16‑1 資料結構與演算法的重要名詞 English 簡體中文 繁體中文 algorithm 算法 演算法 data structure 数据结构 資料結構 code 代码 程式碼 file 文件 檔案 function 函数 函式 method 方法 方法 variable 变量 變數 asymptotic complexity analysis 渐近复杂度分析0 码力 | 379 页 | 18.79 MB | 10 月前3
现代C++ 教程:高速上手C++11/14/17/20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 相关代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 代码风格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 代码安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820 码力 | 83 页 | 2.42 MB | 1 年前3
Hello 算法 1.0.0b4 C++版,但会引导你探索数据结构与算法的“知 识地图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信 你可以更加自如地应对刷题和阅读文献,逐步构建起完整的知识体系。 本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。动画在 PDF 内的 展示效果受限,可访问 hello‑algo.com 网页版以获得更优的阅读体验。 czruby, gltianwen, liuxjerry, yabo083. 本书的代码审阅工作由 Gonglja, gvenusleo, hpstory, justin‐tse, krahets, nuomi1, Reanon, sjinzh 完 成(按照首字母顺序排列)。感谢他们付出的时间与精力,正是他们确保了各语言代码的规范与统一。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。” 0. 前言 0.1. 关于本书 本项目旨在创建一本开源免费、新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂、学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Java, C++, Python, Go, JS, TS, C#, Swift, Zig 等语言。 ‧ 鼓励读者在章节讨论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。0 码力 | 343 页 | 27.39 MB | 1 年前3
Hello 算法 1.0.0b1 C++版,但会引导你探索数据结构与算法的“知识地 图”,带你了解不同“地雷”的形状大小和分布位置,让你掌握各种“排雷方法”。有了这些本领,相信你可以 更加得心应手地刷题与阅读文献,逐步搭建起完整的知识体系。 书内的代码配有可一键运行的源文件,托管在 github.com/krahets/hello‑algo 仓库。动画在 PDF 内的展示 效果有限,可前往 hello‑algo.com 网页版获得更好的阅读体验。 fanchenggang, Keynman, youshaoXG, lipusheng, Javesun99, tao363, czruby, gltianwen, liuxjerry, yabo083. 本书的代码审阅工作由 justin‑tse, krahets, nuomi1, Reanon, sjinzh 完成,感谢他们的辛勤付出! 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。” 写在前面 0.1. 关于本书 本项目致力于构建一本开源免费、新手友好的数据结构与算法入门书。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂、学习曲线平滑; ‧ 算法源代码皆可一键运行,支持 Java, C++, Python, Go, JS, TS, C#, Swift, Zig 等语言; ‧ 鼓励读者在章节讨论区互帮互助、共同进步,提问与评论一般能在两日内得到回复;0 码力 | 187 页 | 14.71 MB | 1 年前3
共 31 条
- 1
- 2
- 3
- 4













