25-28章将视角从代码层面提升到系统和项目层面,让我理解了软件构建在更大语境中的意义。
核心收获与深刻见解:
1.程序规模的维度:McConnell区分了不同规模程序的特点和要求。小程序可以依靠个人技艺,大程序则需要严格的工程纪律。这种区分帮助我理解了为什么在某些项目中行之有效的方法在另一些项目中会失效。
2.构造的管理:进度估计、质量保证、风险管理等项目管理活动与技术活动同等重要。技术人员往往忽视这些"软技能"的价值。
3.集成策略的选择:阶段式集成、增量集成等不同策略适用于不同场景。理解这些策略的原理和适用条件对技术决策至关重要。
个人成长与认知转变:
我认识到优秀的技术人员需要具备系统思维,能够从项目整体角度思考技术决策的影响。技术决策不能脱离项目约束和商业目标。