摘要: 在系统层面,作者提醒我们,规模会改变一切,小项目和大项目的构建方式截然不同,不能把写个人小工具的经验直接套到大型系统上。集成应该频繁、增量地进行,最危险的是那种所有人各写各的、最后一次性合并的大爆炸集成,往往会带来灾难性失败。工具很重要,但工具不能替代工程判断。 最后一部分回到人。布局和风格的意义在 阅读全文
posted @ 2026-11-12 11:47 gcdoublebest 阅读(3) 评论(0) 推荐(0)
摘要: 方法论——不亲自动手,什么也学不会 课件里有一页专门停下来做"阶段小结",语气很直接: "如果你没体会到什么,那我可以肯定,你一定没有动手去做前面 PPT 中要你做的事。" "不亲自动手,只看不做,什么也学不会!" 这是我最认同、也最想记下的一点。整个课件不是"念语法",而是用 TestInheri 阅读全文
posted @ 2026-11-10 11:52 gcdoublebest 阅读(2) 评论(0) 推荐(0)
摘要: 《代码大全(第二版)》读书笔记(中)· 变量、语句与代码改进 变量部分看似琐碎,其实是缺陷的重灾区。作者给出的原则是:每个变量只承担一个用途,尽量在使用处就近声明,能初始化就初始化,作用域和存活时间越小越好,用命名常量替代含义不明的魔法数。而在命名这一章,作者把它称为投入产出比最高的质量投资,一个准 阅读全文
posted @ 2026-11-10 11:49 gcdoublebest 阅读(3) 评论(0) 推荐(0)
摘要: 抽象类与接口,是"设计"的分水岭 这一部分从"是什么"上升到"怎么设计": 抽象类:abstract 修饰,只声明"应该有哪些方法",不能 new,必须派生子类实现抽象方法才能实例化。它有三种来源(直接定义抽象方法 / 继承抽象父类未完全实现 / 实现接口未完全实现)。 接口:用鸭子问题引出——鸭子 阅读全文
posted @ 2026-11-07 10:11 gcdoublebest 阅读(5) 评论(0) 推荐(0)
摘要: 多态是本讲的核心,也是理解起来最费脑的部分。课件用一个生物学的比喻切入:北方玉米比南方长而粗——同一种族,环境不同,特性不同。落到代码里就是:相同的一条语句,在不同运行环境产生不同结果。 关键技术链条我梳理如下: 本质特征:父类(或接口)变量可以引用子类对象——Parent p = new Chil 阅读全文
posted @ 2026-11-07 10:11 gcdoublebest 阅读(3) 评论(0) 推荐(0)
摘要: 继承,是"分类"在代码里的投影 开始用狮子与动物的例子点明本质:继承是对现实世界"分类"概念的模拟,即 IS_A 关系——狮子拥有动物的一切基本特性,又有自己的独特特性。语法上就是一个 class 子类 extends 父类。 这一部分给我印象最深的不是语法本身,而是几个容易踩坑的细节: super 阅读全文
posted @ 2026-11-03 21:09 gcdoublebest 阅读(3) 评论(0) 推荐(0)
摘要: 总览与心法 史蒂夫·迈克康奈尔写这本书,目标不是教你某一门语言或框架,而是回答一个更根本的问题:一个专业的程序员,在动手写代码之前、写的时候、以及写完以后,究竟该做些什么。他把这一整段工作统称为软件构建,也就是从详细设计到编码、调试、单元测试、集成和代码评审的过程。全书近千页、分七个部分三十五章,本 阅读全文
posted @ 2026-11-03 21:01 gcdoublebest 阅读(7) 评论(0) 推荐(0)
摘要: 核心观点 McConnell 的一个根本信念:程序里一定会有 bug,输入一定会不合法,外部依赖一定会出问题。与其假装世界完美,不如把「防御」作为默认的编码姿态。 关键要点 防御式编程(Defensive Programming)​ 核心思想:垃圾进,什么都不出(Garbage in, nothin 阅读全文
posted @ 2026-10-31 18:37 gcdoublebest 阅读(5) 评论(0) 推荐(0)
摘要: 核心观点 程序的大部分复杂度,不是来自单个算法,而是来自控制流的组合爆炸。McConnell 花了大量篇幅讲如何让控制结构「简单、直白、可预测」。 关键要点 复杂度是可以度量的 全书推崇用圈复杂度(Cyclomatic Complexity)​等指标来量化「这段代码有多难懂」。 经验值:单个子程序的 阅读全文
posted @ 2026-10-31 18:36 gcdoublebest 阅读(5) 评论(0) 推荐(0)
摘要: 核心观点 McConnell 全书反复强调一个前提:代码写一次,读一百次。而阅读的起点,就是每一个变量名、函数名、常量名。名字是代码与阅读者之间最频繁的界面。 关键要点 名字要精确,而非含糊 名字应该回答三个问题:它是什么、干什么用、为什么存在。 避免空洞的通用词:data、info、value、t 阅读全文
posted @ 2026-10-31 18:35 gcdoublebest 阅读(9) 评论(0) 推荐(0)