经典书籍
文章平均质量分 88
云知谷
我是云知,分享我走过的路,专注于从信息的浮云中,为你提炼价值的真相
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【经典书籍】《代码整洁之道》第十五章“异常处理”精华讲解
第十五章:异常处理├─ 核心理念:错误是设计的一部分,要集中、明确、可读├─ 五大原则│ ├─ 用异常而非返回码│ ├─ 异常带上下文│ ├─ 先写 try-catch-finally 框架│ ├─ 不返回/传递 null│ └─ 不忽略异常├─ 好处│ ├─ 业务代码清晰│ ├─ 错误易追踪│ ├─ 减少嵌套判断│ └─ 提高系统健壮性└─ 实践:把异常当作沟通工具,而不是掩盖问题的手段。原创 2025-11-27 20:06:12 · 431 阅读 · 0 评论 -
【经典书籍】《代码整洁之道》第十四章“逐步演进的设计”精华讲解
不要试图一开始就设计完美的系统,而是通过每次小步重构,让设计随着需求和代码的演进而自然浮现出来。要点一句话总结1. 演进式设计是什么?好的设计不是一开始就完美设计出来的,而是通过持续重构与小步迭代自然浮现的。2. 四大简单规则运行所有测试、表达意图、无重复、最小化类与方法。3. 如何实践?从简单开始,用测试保护,持续重构,拥抱变化。4. vs 过度设计演进式设计拥抱变化,保持简单;过度设计害怕变化,追求复杂。5. 核心精神好的设计是演进出来的,不是设计出来的;信任过程,持续改进。深入软件工程实践的。原创 2025-11-19 21:15:55 · 694 阅读 · 0 评论 -
【经典书籍】《代码整洁之道》第十二章“迭进”精华讲解
优秀的软件设计与代码结构,并非一开始就能完美规划,而是通过一系列小而正确的步骤,在持续迭代、测试驱动、简单设计的原则指导下,逐步演进而来的。原书作者“设计不是一次性做对的,而是通过迭代、反馈和持续重构,让代码在实践中‘自然涌现’出良好的结构和可维护性。“好的设计是演进出来的(Emergent Design),不是预先强加的。原创 2025-11-12 18:46:12 · 1055 阅读 · 0 评论 -
【经典书籍】《代码整洁之道》第十三章“并发编程”精华讲解
并发编程是通过同时执行多个任务来提升程序性能与响应能力的编程范式,但它引入了共享资源、竞态条件、死锁等复杂问题。编写正确的并发代码,需要对线程、同步、通信与资源管理有着深刻的理解与严谨的控制。原书作者“并发是一种解耦策略,它不仅能提高性能,还能让系统更响应、更灵活。但它同时也是 bug 的高发区,需要极为谨慎地设计。“不要轻率地使用线程与并发,一旦用了,就要对它负责到底。原则说明好处线程安全优先多线程访问共享数据时必须保证正确性避免数据竞争与不一致避免共享状态尽量让线程之间无共享,或使用不可变对象。原创 2025-11-12 18:18:55 · 797 阅读 · 0 评论 -
【经典书籍】《代码整洁之道》第十一章关于“系统设计”的核心精髓
系统设计,是软件项目的‘地基’与‘蓝图’。设计良好的系统,是可维护、可扩展、团队协作高效的基石。“好的系统,是职责清晰、结构合理、模块解耦、边界明确的有机整体,它像一座精心规划的城市,有层次、有秩序、有活力。“好的系统,就是分层清晰、模块独立、耦合低、架构清晰的整体,它稳定、灵活、可维护、可扩展。“设计优秀系统,就是要做到职责分离、依赖反转、流程清晰,让系统模块化、解耦化、结构化,最终实现灵活、稳定、可维护。问题核心思想结论✅ 为什么系统设计至关重要?原创 2025-11-11 18:44:35 · 957 阅读 · 0 评论 -
【经典书籍】《代码整洁之道》第十章“类”精华讲解
一个好的类,应当是高内聚、低耦合、职责单一、封装良好、命名清晰的小型模块,它只关注自己该做的事,不干涉他人,也不让他人随意干涉自己。原书作者“类的设计应当遵循单一职责原则,保持内聚性,控制其可见性,让代码更加模块化、清晰和可维护。“类的大小不重要,重要的是它做了多少事,以及它是怎么组织的。特质说明好处单一职责(SRP)一个类只做一件事,只管一个职责逻辑清晰、职责分明、易维护高内聚类内方法与字段紧密相关,都围绕一个目标模块紧凑、功能专注、易理解低耦合类之间尽量减少依赖,通过接口交互。原创 2025-11-09 20:55:03 · 814 阅读 · 0 评论 -
【经典书籍】《代码整洁之道》第九章“单元测试”精华讲解
单元测试是针对代码最小可测试单元(通常是函数或类)的自动化测试,它目标是快速、独立、可靠地验证代码行为,从而提升代码的可维护性、可扩展性与开发者的信心。原书作者“单元测试让你的代码具备‘可修改性’,没有测试的代码,是不敢改的代码。“测试代码和生产代码一样重要,它不是二等公民。什么是单元测试?单元测试(Unit Test)是对代码最小可测试单元(通常是函数/方法/类)的自动化测试,目的是验证它的“行为”是否符合预期。测试对象:一个函数、一个类、一个模块的独立功能测试目标。原创 2025-11-09 20:18:33 · 791 阅读 · 0 评论 -
【经典书籍】《代码整洁之道》第八章“边界”精华讲解
边界是你的系统与外部世界(如第三方库、框架、API、旧代码等)交互的地方。优秀的设计会控制这些边界,让外部代码不影响内部模块的结构与清晰度,保持代码的可维护性和灵活性。“边界上的代码需要清晰地封装与隔离,我们不想让外部的细节渗透到核心业务逻辑中。问题核心思想结论✅ 什么是边界?系统与第三方库、API、遗留代码交互的接触点边界是外部世界与你的核心逻辑之间的“大门”✅ 为什么需要管理边界?防止外部变化、库升级、API 调整影响内部代码控制外部依赖,保护内部整洁✅ 如何管理边界?原创 2025-11-09 18:24:45 · 796 阅读 · 0 评论 -
【经典书籍】《代码整洁之道》第七章“异常与错误处理圣殿”精华讲解
错误处理的目标是让代码在面对异常情况时依然保持清晰、健壮和可维护。异常机制是处理错误的正确工具,应该用来明确表达错误情况,而不是用返回码、null 或全局状态来隐藏问题。原书作者“使用异常而非错误码,让错误处理逻辑与主流程分离,代码更清晰、更健壮。“不要返回 null,不要返回错误码,要用异常明确表达问题!原则说明好处用异常,别用错误码抛出异常,而不是返回 -1 / false / 错误码主流程清晰,错误处理集中别返回 null返回 null 容易导致 NPE,应该抛异常或返回 Optional。原创 2025-11-09 18:17:35 · 745 阅读 · 0 评论 -
【经典书籍】《代码整洁之道》第六章“对象与数据结构”精华讲解
对象与数据结构的核心区别在于:数据结构暴露数据,对象隐藏数据并暴露行为;盲目使用数据结构(如 Map、DTO)会让代码难以扩展,而优秀的对象设计能让系统更灵活、更易维护。原书作者“对象把数据隐藏起来,暴露行为;数据结构暴露数据,几乎没有行为。“过程式代码(使用数据结构)难以扩展,面向对象代码(使用对象)难以修改。数据结构暴露数据,对象隐藏数据并暴露行为类型特点适用场景风险数据结构(DTO / Map / POJO)只有字段,暴露数据,几乎没有行为简单数据传递、API 参数、配置对象。原创 2025-11-08 20:20:27 · 911 阅读 · 0 评论 -
【经典书籍】《代码整洁之道》第五章“格式”精华讲解
代码格式不仅仅是‘美观’问题,它是代码可读性、可维护性与团队协作效率的关键影响因素。良好的代码格式,让代码像文章一样有逻辑、有节奏、有层次,让团队协作更顺畅。“代码格式是代码的‘排版规则’,是‘视觉语言’,是‘结构表达’。它虽不直接影响功能,却极大影响代码的理解与维护。原书作者“代码格式很重要,它传递了代码的组织结构与逻辑层次,是专业开发者的基本功。原则说明好处一致的缩进用 2/4 空格,别用 Tab,层次清晰逻辑分明,阅读顺畅空行分隔逻辑块函数间、逻辑组间用空行分开代码有“呼吸感”,层次清晰。原创 2025-11-08 15:02:20 · 720 阅读 · 0 评论 -
【经典书籍】《代码整洁之道》第四章“注释”精华讲解
注释本身并无原罪,但滥用、乱用、错误使用的注释,常常让代码更难读、更难维护,甚至误导别人。好的代码,应该尽量自解释;好的注释,是补充,不是替代。原话更狠一点,作者“不要为糟糕的代码写注释,重写那段代码!你以为实际上Uncle Bob 说“注释越多,代码越易懂”注释可能过时、撒谎、冗余,反而让人更困惑“别为烂代码写注释,重写它!“注释可以替代清晰的代码”好的命名与结构,比注释更能表达意图“最好的注释,就是不需要注释”“我写注释是为了帮别人”别人可能不信注释,更愿意看代码本身。原创 2025-11-08 14:20:58 · 747 阅读 · 0 评论 -
【经典书籍】《代码整洁之道》第三章“函数”精华讲解
好的函数,应该短小、单一职责、语义清晰、只做一件事,让代码逻辑一目了然,让团队协作顺畅高效。“函数不是‘代码块’的堆砌,而是‘意图’的封装;不是‘功能的集合’,而是‘逻辑的清晰表达’。原书作者“函数的第一规则是:短小。第二规则是:比第一规则更短小。(是的,他真的这么说 😂,但背后是有深刻道理的!原则说明好处函数要短小最好不超过 20 行,越短越清晰一眼能看完,逻辑清晰只做一件事一个函数只封装一个逻辑行为职责单一,易维护一层抽象函数内逻辑保持在同一抽象层次不跳跃,易读命名清晰准确表达函数意图。原创 2025-11-08 14:13:45 · 836 阅读 · 0 评论 -
【经典书籍】《代码整洁之道》第二章“命名”精华讲解
代码的可读性,从命名开始。好的命名,能让代码清晰、易懂、自解释;坏的命名,会让代码像天书,让维护者想骂人。“命名不是‘随便取个代号’,而是你写代码时,对‘这段代码是干嘛的、这个变量代表什么、这个函数做了什么’的精准表达。原书作者“命名很重要。命名必须明确传达意图。如果名称需要注释来补充,那就不算好名称。原则说明坏例子好例子名副其实名字要准确表达它是啥、干啥的data()userData避免误导别让名字骗人(其实是 Map)有意义区分别用无意义的数字 / 字母区分data1data2。原创 2025-11-07 20:16:35 · 666 阅读 · 0 评论 -
【经典书籍】《代码整洁之道》第一章“代码整洁的定义、价值、争议与本质”精华讲解
整洁代码,是每个程序员都应该追求的目标。它不只是‘格式整齐’,而是‘易读、易维护、逻辑清晰、职责分明’的高质量代码。“整洁代码,是写给别人(和未来的你)看的,它清晰、简洁、有逻辑、无歧义,让团队协作更高效,让系统演进更轻松。作者他采访了多位资深程序员、技术大佬,问他们:“你眼中的整洁代码是什么样的?结果,每位大佬都给出了不同但又有共性的答案,我们一个一个来看,保证你一边看一边点头!“整洁代码,是:可读的可维护的逻辑清晰的没有冗余的职责分明的让人愿意读下去的代码”原创 2025-11-07 15:17:39 · 700 阅读 · 0 评论 -
【经典书籍】《人月神话》第十六章“没有银弹”精华讲解
在软件开发中,没有一种技术、工具、方法或管理实践,能够大幅度、一劳永逸地提高开发效率 —— 就像传说中能杀死狼人的‘银弹’一样神奇。“软件开发的根本困难,是本质性的(Essential),而不是偶然性的(Accidental)。而我们一直试图用解决‘偶然问题’的方式,去搞定‘本质问题’,所以总是事倍功半。“无论是技术上的突破,还是管理上的改进,没有任何一种单一的方法,能带来哪怕 10 倍的效率提升、可靠性提升或简洁性提升。🧠这就是“没有银弹”的核心含义:没有神奇武器,没有一招鲜,没有一劳永逸的解决方案。原创 2025-11-07 13:49:38 · 949 阅读 · 0 评论 -
【经典书籍】《人月神话》第十五章“画蛇添足”精华讲解
当一个团队或架构师设计他们的第二个系统时,往往会抑制不住冲动,往里面加入太多‘新想法’和‘高级功能’,导致系统过度设计、复杂膨胀、难以维护,最终失控。“你的第一个系统可能很简陋,但往往能跑起来;而你的第二个系统,看似更成熟、更强大,却常常因为‘贪大求全’而变得臃肿不堪,甚至难以交付。原书作者弗雷德里克·布鲁克斯(Fred Brooks)“第二系统效应”(The Second-System Effect)“第一个系统往往是出于必要而建造的,它功能有限,设计克制;原创 2025-11-07 13:04:56 · 1079 阅读 · 0 评论 -
【经典书籍】《人月神话》第十四章“胸有成竹:文档的力量”精华讲解
不要把文档当作负担,而要把它当作项目的生命线。“好的文档,能让团队沟通更顺畅,让知识传承更持久,让软件维护更轻松,让项目成功更有保障。“写代码的同时,别忘了写文档 —— 它是你未来最好的朋友。核心要点说明文档的意义是沟通工具、知识沉淀、管理基础、维护保障程序员的误区认为代码即一切,文档是负担,常常忽视其重要性好文档的特点清晰、准确、及时更新、刚刚好、分阶段、有重点文档类型需求、设计、接口、测试、用户手册、运维说明等官方建议文档要与代码同步演进,是项目成功不可或缺的一环。原创 2025-11-07 12:00:37 · 627 阅读 · 0 评论 -
【经典书籍】《人月神话》第十三章“金牌团队与银牌团队”精华讲解
你团队 20 人,需求 50 个,会议 10 个/周,代码冲突天天有,上线遥遥无期大家都很忙,但不知道在忙啥老板问:“咋还没上线?” 你答:“还在对需求……”“一个结构合理、分工明确、由技术强者领衔的小型团队,其开发效率、沟通效果、软件质量,要远远优于一个规模庞大但组织松散、目标模糊、沟通混乱的普通团队。“软件开发不是靠堆人解决的,而是靠良好的组织、清晰的目标、高效的协作与核心的技术能力。“如果你想要一个真正能打、能交付、能持续迭代的高效能团队,你应该优先考虑如何组织好这个小团队,而不是盲目扩大人数。原创 2025-11-04 19:48:10 · 878 阅读 · 0 评论 -
【经典书籍】《人月神话》第十二章“团队的组织与沟通结构”精华讲解
你以为实际上布鲁克斯说“人越多,效率越高!人越多,沟通成本越高,效率可能更低“沟通路径是指数级增长的,加人不一定加分!“大家开开会,对对齐就行了”开会越多,时间越浪费,决策越慢“能用文档对齐,就别开会;能一对一沟通,就别群聊”“信息大家口头传一下就行”信息传着传着就歪了,最后没人知道真相“关键信息一定要写下来,留痕!“我们团队很团结,沟通很顺畅”团队大了,你根本不知道谁在干啥“明确角色,透明进度,减少猜测”“加个人吧,项目就能更快了”新人要熟悉代码、流程、业务,反而拖慢进度。原创 2025-11-04 19:30:17 · 919 阅读 · 0 评论 -
【经典书籍】《人月神话》第十章“外科手术团队”精华讲解
布鲁克斯设想的“外科手术团队”结构,类似于一个小型、高效、专业分工的团队,成员虽少,但角色清晰、配合紧密让最优秀的人做最核心的工作,其他人提供强力辅助,避免沟通混乱,提升整体效率与代码质量。要点说明核心思想软件项目应该像一支外科手术团队,而不是“人海战术”主刀程序员核心开发者,负责架构与关键代码,是团队的“技术大脑”团队规模小而精,一般 5~10 人,沟通路径短,效率高分工明确每个角色各司其职:编码、文档、测试、管理、工具等解决痛点降低沟通成本、提升代码质量、避免设计混乱、让强者更强现实映射。原创 2025-11-04 12:12:20 · 330 阅读 · 0 评论 -
【经典书籍】《人月神话》第九章“没有银弹”精华讲解
银弹”是唯一能杀死狼人、吸血鬼这些超自然生物的武器。“一击必杀、药到病除、神奇万能的解决方案。人们以为的“银弹”代表希望更好的编程语言“用 Python / Rust / Go,开发效率就能飙升!更强大的工具“用 AI 编程、低代码平台,代码都不用写!更牛的程序员“找几个大神,啥问题都解决了!更敏捷的方法“用 Scrum、Kanban,项目就能飞起来!更严格的管理“加人、加流程、加管控,就能按时上线!更先进的技术“微服务、云原生、Serverless,一用就灵!“这些都不是银弹。原创 2025-11-03 20:07:11 · 635 阅读 · 0 评论 -
【经典书籍】《人月神话》第八章“胸有成竹”精华讲解
你以为实际上“代码就是最好的文档”代码能跑,但别人看不懂,你过几个月也看不懂“需求天天变,写文档没用”没有文档,你连“原来需求是啥”都记不住“文档写起来太麻烦”没有文档,沟通成本更高,返工更麻烦“文档是给别人看的”文档首先是给你自己未来看的“写文档浪费时间”没有文档,后期维护和协作花的时间更多“如果你是一个程序员,请别再把文档当成负担。它是你未来救自己的工具,也是团队协作的桥梁。“如果你是一个技术负责人或项目经理,请重视文档的价值,它是项目长期健康发展的基石。原创 2025-11-03 19:29:40 · 829 阅读 · 0 评论 -
【经典书籍】《人月神话》第七章“为什么巴比伦塔会失败”精华讲解
问题沟通出问题会怎样?解决方案需求传递产品说东,程序员做西写清楚需求文档,开需求评审会接口对接前端后端互相不理解提前定义好接口,联调前对齐任务分配不知道谁该干嘛明确分工,责任到人进度同步不知道项目卡在哪定期开会,用看板或工具透明化问题反馈bug出现后互相甩锅及时沟通,共同定位,快速修复语言不通(广义)每个人说的“模块”“功能”含义不同统一术语,建立团队知识库“如果你是一个技术负责人、项目经理,或者团队 Leader,请务必把‘沟通’放在和‘技术’‘进度’同等重要的位置。甚至更高。原创 2025-11-03 19:02:49 · 793 阅读 · 0 评论 -
【经典书籍】《人月神话》第四章“贵族专制、民主政治和系统”精华讲解
伟大的系统设计,往往源自一个或少数几个具备远见与能力的‘架构师’(或设计权威)的集中决策,而不是团队中每个人七嘴八舌的‘民主讨论’。“贵族专制” vs “民主政治”每个团队成员都可以对系统设计发表意见所有人都觉得自己提的需求很重要设计决策通过讨论、投票、妥协产生最终系统功能多而杂,缺乏一致性,架构混乱👉结果:系统功能堆砌、逻辑松散、代码风格不一、维护困难,用户也一头雾水。就像那个“啥都有但啥都做不好”的小区会所。概念民主政治式设计(人人参与)贵族专制式设计(精英决策)决策方式。原创 2025-11-02 22:53:42 · 332 阅读 · 0 评论 -
【经典书籍】《人月神话》第六章“沟通之痛”精华讲解
核心观点解释沟通成本随团队规模指数增长5人团队沟通路径10条,10人45条,20人190条!不是线性增长!写代码的时间变少,协调的时间变多人越多,你花在同步、对齐、会议、答疑上的时间就越多小而精的团队更高效3~7人的团队,往往比10人以上的“大军团”效率更高明确分工和接口,减少交叉沟通每个模块有Owner,减少“谁来做”和“该找谁”的混乱善用工具与文档,替代无效沟通文档、设计图、接口规范,能让团队减少重复沟通和误解“做项目,不是请客吃饭,不是拉个群就能搞定一切。原创 2025-11-02 20:11:03 · 1133 阅读 · 0 评论 -
【经典书籍】《人月神话》第五章“画蛇添足”精华讲解
当一个程序员做完了他的第一个系统之后,一旦有机会做第二个系统,他往往会抑制不住冲动,往里面塞进一大堆‘看上去很美’但实际上没啥用的功能,导致系统变得臃肿、复杂、难用、难维护。“第二系统效应”(The Second-System Effect)核心概念一句话总结什么是第二系统效应?做第二个系统时,程序员容易过度设计,加一堆华而不实的功能,导致系统臃肿不堪为什么会出现?因为觉得自己“有经验了”,想秀技术、秀架构、秀想法,结果用力过猛典型症状功能泛滥、架构复杂、没人用的花哨模块、维护困难、用户吐槽如何避免?原创 2025-11-02 18:53:09 · 686 阅读 · 0 评论 -
【经典书籍】《人月神话》第三章“外科手术队伍”精华讲解
传统误区布鲁克斯的神方案10个程序员坐一起,共同写代码,人人平等发言❌ 导致代码混乱、责任不清、效率低下“民主编程”听起来很美好,实际上很灾难✅ 应该像外科手术团队:有主刀、有助手、有后勤,分工明确人人都要写核心模块,人人都要有话语权✅ 核心模块应由最强的“主刀程序员”负责,其他人辅助沟通靠大家一起开会讨论✅ 沟通应该由专人(如编辑/沟通者)对外,内部保持专注“写代码不是开大会,不是靠人多嘴杂来决策。它更像是一场精密的外科手术,需要主刀的冷静、助手的配合、器械的精准,还有,一点点不容打扰的专注。原创 2025-10-28 19:49:44 · 639 阅读 · 0 评论 -
【经典书籍】《人月神话》第二章“人月神话”精华讲解
核心观点解释人月是神话不能简单认为“人多就能加快进度”,因为沟通和培训成本会抵消收益。增加人手可能让项目更慢尤其是项目已经延误时,盲目加人往往适得其反(布鲁克斯法则)。软件开发有内在复杂性它不是纯体力劳动,而是创造性的、逻辑性的、依赖沟通的工作。关键在于设计和结构好的架构、清晰的分工、高效的沟通比单纯增加人数更重要。误解真相人多项目一定快人多了,沟通成本、培训成本、管理负担也上去了,可能更慢1人月 = 1个人干1个月不是所有工作都能拆开并行,有些任务有“关键路径”,必须按顺序来项目慢了就加人。原创 2025-10-28 19:26:55 · 676 阅读 · 0 评论 -
【经典书籍】《人月神话》第一章“焦油坑“:当程序员遇上史前大黏锅
想象一下,你走在路上,突然看到一个黑乎乎、黏糊糊的大坑,里面时不时传出"救命啊!我动不了啦!"的惨叫声。走近一看,哇塞!里面有猛犸象、剑齿虎,还有几只倒霉的程序员,全都黏在那儿,越挣扎陷得越深!这就是布鲁克斯大神说的"焦油坑"——只不过在我们的故事里,坑里黏着的不是史前动物,而是一个个雄心勃勃的软件项目!程序员版解释:焦油坑就像你电脑里那个怎么删都删不掉的顽固文件夹,你越想搞定它,它就越跟你对着干!软件开发不是跑步比赛,而是在黏糊糊的泥潭里跳芭蕾!需求变更就像焦油坑里的小气泡。原创 2025-10-27 20:55:47 · 603 阅读 · 0 评论 -
【经典书籍】C++ Primer 第19章特殊工具与技术精华讲解
技术点重要性难度推荐指数类型别名 (using⭐⭐⭐⭐⭐👍👍👍👍constexpr⭐⭐⭐⭐⭐⭐👍👍👍👍explicit⭐⭐⭐⭐👍👍👍运算符重载⭐⭐⭐⭐⭐⭐👍👍👍👍多重继承⭐⭐⭐⭐⭐👍👍虚继承⭐⭐⭐⭐⭐👍👍类成员指针⭐⭐⭐⭐⭐👍(进阶)嵌套类⭐⭐⭐⭐⭐👍👍👍局部类/匿名类⭐⭐⭐⭐👍(偶尔)预处理 & 模板技巧⭐⭐⭐⭐⭐⭐⭐👍(高手向)原创 2025-10-25 21:41:09 · 1096 阅读 · 0 评论 -
【经典书籍】C++ Primer 第17章标准库特殊设施精华讲解
工具作用适用场景一句话tuple装多个不同类型值函数返回多个值、多返回数据打包一个盒子,装啥都行!bitset管理一组二进制位权限、状态压缩、标志管理比多个 bool 更省内存!regex字符串模式匹配邮箱、手机号、日志分析、文本提取让字符串处理变智能!random高级随机数生成游戏、模拟、随机 ID、实验数据比 rand() 更强大、更安全!装两个值简单键值、双返回值两个值,一个包装!高效传递资源移动语义、资源管理让你的代码更高效!原创 2025-10-25 14:57:09 · 748 阅读 · 0 评论 -
【经典书籍】C++ Primer 第18章如何设计一个“好用、好看、好改”的函数精华讲解
好函数的特点说明你做到了吗?✅ 短小精悍不超过 20 行,最好 5~10 行函数别写成小说✅ 只做一件事功能单一,逻辑清晰不要又算又存又打印✅ 命名清晰函数名表达意图,比如 calculateTotal()别用 handle / doSomething✅ 参数要少最好不超过 3 个,复杂输入用结构体别让用户记参数顺序✅ 无副作用不偷改全局变量,行为透明别让函数“背地里搞事情”✅ 返回值明确返回类型稳定,调用方一看就懂不要返回类型变来变去✅ 逻辑扁平。原创 2025-10-25 15:18:17 · 780 阅读 · 0 评论 -
【经典书籍】《编写可读代码的艺术》精华
好文章 / 好故事法则说明一句话1. 命名要有意义变量 / 函数 / 类名要清晰准确好名字是最好的注释2. 函数要短小、单一一个函数只做一件事,尽量简短像写短句,别写长篇3. 注释要恰到好处解释“为什么”,而不是“做什么”好代码不需要废话,但需要关键说明4. 格式要整齐一致缩进、空行、排版要有规范美感代码如诗,排版如画5. 逻辑要模块化拆分成小函数、小类,职责分明像搭积木,清晰可复用6. 避免“聪明”代码不要为了炫技牺牲可读性最牛的代码,是别人看完都说“我懂了”原创 2025-10-23 22:44:14 · 400 阅读 · 0 评论 -
【经典书籍】C++ Primer 第16章模板与泛型编程精华讲解
模板,就是教你写一份“通用蓝图”,让编译器帮你自动为不同类型生成具体代码!“我要造一把刀,但这把刀不固定是水果刀、菜刀还是匕首,而是‘任意刀’,你给我啥材料,我给你削啥!老 G 对小 T 说:模板不是魔法,而是一种编程思想 —— 泛型编程(Generic Programming)。你写的不是针对某个具体类型的代码,而是**针对‘任意类型’的逻辑。只要类型满足你的要求(比如有 + 操作、有 << 操作),你的代码就能运行!只要你的类重载了<<运算符,小 T 的通用打印函数模板就能打印它!原创 2025-10-23 22:01:37 · 1180 阅读 · 0 评论 -
【经典书籍】C++ Primer 第14章类虚函数与多态精华讲解
第14章教你如何让 C++ 中的“对象”在运行时“智能地决定该干啥”,也就是让基类指针/引用能够调用到真正子类的函数,实现“一个接口,多种行为”的魔法,这就是传说中的多态(Polymorphism)!你可以理解为:就像你跟一群动物说:“来,表演个才艺!”🦁 狮子会吼,🐼 熊猫会吃竹子,🐧 企鹅会吐槽天气,而你只用了一个指令,它们却各自表演了不同的节目!多态(Poly = 多,Morph = 形态)就是:同一个指令,不同的对象,做出不同的反应。🎭 类比:公司开会点名发言。原创 2025-10-22 21:28:00 · 1070 阅读 · 0 评论 -
《程序员的自我修养:链接、装载与库》概要
编译阶段:源码转换为目标文件,涉及词法分析、语法分析、优化等;链接阶段:合并多目标文件,解析符号,生成可执行文件;装载阶段:操作系统加载可执行文件到内存,建立进程虚拟空间;运行阶段:通过页映射、动态链接、系统调用等机制支持程序执行。这些内容为理解系统软件底层机制提供了坚实基础,尤其适合从事编译器、操作系统、嵌入式开发等领域的技术人员深入学习。如果有需要修改或者补充的地方,可以随时告诉我。ELF文件格式因其模块化、灵活性和跨平台特性,成为Unix-like系统的标准。原创 2025-10-07 20:18:20 · 1700 阅读 · 0 评论 -
推荐编译链接的书籍
为您推荐关于编译和链接这个主题的经典书籍。这个主题是理解程序如何从源代码变成可执行文件的核心,对于深入理解计算机系统、进行系统级编程和解决复杂的构建问题至关重要。以下书籍从入门到精通,从理论到实践,涵盖了不同层次的需求。原创 2025-10-07 21:01:54 · 785 阅读 · 0 评论 -
软件开发领域的经典书籍分类推荐
内容:全面涵盖软件构建全流程,包括命名规范、代码结构、调试技巧及软件质量提升方法,被誉爲“软件构建百科全书”。- 内容:强调务实编程原则,如“不要重复自己(DRY)”“早重构、常重构”,涵盖代码灵活性与项目管理智慧。- 内容:通过正反案例解析整洁代码的核心实践,如函数拆分、错误处理规范,提升可维护性与团队协作效率。- 内容:MIT经典教材,以Scheme语言阐述抽象、递归、高阶函数等编程本质,培养计算思维。- 内容:从程序视角剖析CPU、内存、操作系统底层原理,被誉为“CS最佳导论书”。原创 2025-10-07 21:25:12 · 307 阅读 · 0 评论 -
《深入理解计算机系统》计算机经典书籍1—6章精华
第一章“计算机系统漫游”成功地为我们勾勒出一幅计算机系统的宏观蓝图。它告诉我们,系统是由硬件和系统软件共同协作来运行应用程序的;所有信息都由比特表示,并通过上下文获得意义;程序需要经过编译系统的翻译;硬件在执行程序时,大量的时间花在了数据移动上,因此存储层次结构的设计至关重要;操作系统通过进程、虚拟内存和文件这三大抽象来管理硬件。最后,并发、并行和抽象是理解计算机系统工作方式的关键思想。这一章为后续深入探讨程序的机器级表示、处理器体系结构、存储层次、链接、异常控制流、虚拟内存等内容奠定了坚实的基础。原创 2025-10-09 06:51:33 · 902 阅读 · 0 评论
分享