当前位置: 首页 > news >正文

2.Part1 第一章 软件工程的定义与实践

第一章 主要探讨了软件工程与编程之间的区别,并强调了时间、规模和权衡在软件工程中的重要性。
在这里插入图片描述

核心内容综述

1.软件工程与编程的区别

在Google内部,软件工程被定义为“随着时间推移的编程”。编程是生成新软件的方式,而软件工程则包括开发、修改和维护代码。编程更多关注代码的生成,而软件工程则需要考虑代码的生命周期、维护性和可持续性。

2. 时间对软件工程的影响

代码的预期寿命(从几分钟到数十年)对软件工程的复杂性有显著影响。短期代码通常不需要考虑底层库、操作系统、硬件或语言版本的变化,而长期代码则需要适应这些变化。
时间的增加使得软件工程需要应对更多的变化和维护问题。

3.规模与效率

软件工程的复杂性与组织规模和项目规模密切相关。随着组织的增长和项目的扩展,开发工作流程的效率可能会受到影响。
规模问题不仅涉及技术层面,还涉及团队组织、沟通和管理策略。例如,《人月神话》中讨论的沟通和人员规模问题,仍然是软件工程中的重要议题。

4.权衡与决策

软件工程中经常需要在多个路径之间进行权衡,这些决策通常涉及高风险和不完善的价值指标。
软件工程师的目标是实现组织、产品和开发工作流程的可持续性,并管理扩展成本。

Google的经验与本章的目标

本书分享了Google在构建和维护预计将持续数十年、涉及数万工程师和全球计算资源的软件方面的经验。
这些经验虽然针对大规模项目,但也适用于较小规模的开发工作。

本章要点

**时间维度:**软件工程不仅仅是编程,还需要考虑代码的生命周期和长期维护。
**规模问题:**组织和项目的规模对软件工程的复杂性和可持续性有重要影响。
**权衡决策:**软件工程师需要在多个选项中做出权衡,以实现可持续性和扩展性。

Google的经验:本书的目标是分享Google在大规模软件开发中的经验,帮助读者在自己的项目中应用这些最佳实践。通过这些内容,第一章为读者奠定了理解软件工程的基础,并引入了时间、规模和权衡这三个核心主题

精彩语录

1.编程和软件工程之间有三个关键的区别:时间、规模和权衡取舍。在一个软件工程项目中,工程师需要更多关注时间成本和需求变更。在软件工程中,我们需要更加关注规模和效率,无论是对我们生产的软件,还是对生产软件的组织。
2.编程当然是软件工程的一个重要部分:毕竟,编程首先是生成新软件的方式。如果你接受这一区别,那么很明显,我们可能需要在编程任务(开发)和软件工程任务(开发、修改、维护)之间进行划分。时间的增加为编程增加了一个重要的新维度。这是一个立方体三维模型不是正方形的二维模型,距离不是速度。软件工程不是编程。
Software engineering isn’t programming.
3.短期编程与生成预期生命周期更长的代码有何不同?随着时间的推移,我们需要更多地意识到“正常工作”和“可维护”之间的区别。识别这些问题没有完美的解决方案。这是不幸的,因为保持软件的长期可维护性是一场持久战。
4.海勒姆定律:当一个 API 有足够的用户的时候,在约定中你承诺的什么都无所谓,所有在你系统里面被观察到的行为都会被一些用户直接依赖。
5.当专业知识与规模经济相结合时,回报尤其丰厚。

相关文章:

  • 傅里叶分析之掐死教程
  • Linux:进程概念详解
  • 蓝桥杯篇---串行EEPROM AT24C02
  • 2025.2.15
  • 嵌套调用实现数组元素逆序存放
  • 算法04-希尔排序
  • spring session、spring security和redis整合的简单使用
  • LeetCode 热门100题-合并区间-不熟练
  • 人工智能之姿态估计OpenPose算法源码分析(vgg19,backbone,高斯热度图,单位向量叉乘,向量累加和后求平均,感受野,多个stage纠错)
  • 【数据结构】复杂度
  • AI前端开发与职业倦怠:效率提升的解药
  • 几款dxf文件转Gcode的开源软件
  • SQL CHECK 语句详解
  • vue不是内部或外部命令?
  • Docker 实战与应用:提升开发效率的核心命令与场景解析
  • C语言-章节 1:变量与数据类型 ——「未初始化的诅咒」
  • 相机模数转换
  • Vue响应式原理实现总结(数据劫持Object.defineProperty/Proxy+发布订阅者设计模式)
  • STM32 如何使用DMA和获取ADC
  • 5分钟了解! 探索 AnythingLLM,借助开源 AI 打造私有化智能知识库,熟悉向量数据库
  • 看展 | 黄永玉新作展,感受赤子般的生命力
  • 世界高血压日|专家:高血压患者控制血压同时应注重心率管理
  • 陈刚:推动良好政治生态和美好自然生态共生共优相得益彰
  • 上海公办小学验证今起开始,下周一和周二分区进行民办摇号
  • 菲律宾中期选举结果揭晓,马科斯与杜特尔特家族重回“权力的游戏”
  • 视频丨歼-10CE首次实战大放异彩