《人月神话》读书笔记3
未雨绸缪
当我们在实现某个软件的具体功能的时候,往往会出现多种多样的思路,但是对于哪一个思路能够真正的行得通就需要进行大量的不懈的开发性实验。虽然说开发性实验会造成精力的消耗,并且有可能会通过大量的测试从而将目前的方案进行否决,但是进行大量的实验是值得的。进行方案的实验,会加强开发人员的精力和信心,给用户该软件值得信赖的印象,若非如此,当正式开发的时候可能会遭遇返工危机甚至会造成拆补的混乱。正如书中所说,这世界上唯一不变的就是变化本身,唯有具备未雨绸缪的能力,才能对开发过程中未知的变化做出相应的策略改变,适应变化,而不是被变化给筛选下去。除此之外,还需要提高代码的质量和可读性,对测试过程完善,即对运营维护进行变化。
前人的指挥告诉我们,缺陷永远存在,我们需要通过质量管理放缓系统混乱度的提高。
干将莫邪
软件的开发离不开工具,从软件的需求分析到系统的分析设计,再到程序的编码,构建,测试,发布和维护。都是工具给予我们的便利。我们需要善于利用工具来提高我们的工作效率和质量。
整体部分
面向对象编程的“封装”思想和结构化编程的“精简”思想对于整个软件开发过程的各个维度同样适应。编码时各个信息隐藏的模块需要完成各自的任务,再通过接口互相配合。整体的顺利运行离不开各个组成部分的优化。当系统出现问题,需要找到问题的发生点,这时就需要将问题在不同的模块和粒度上分解测试,最终找到问题的症结。
没有银弹
软件活动根本任务是打造构成抽象软件实体的复杂概念结构。在软件实现的过程我们会常常遇见一个类似与看起来很简单但是严重影响了软件质量和进度的问题。人们希望找到完美解决问题的方法。然而经过多年探索,却发现,该问题无解。于是催生了软件工程的学科对软件过程中的每个细分进行方法论的指导。在解决这个问题的过程中,人们也做了很多努力,提出了高级编程语言、面向对象编程、人工智能、专家系统、图形化系统、程序验证、工作站等方式,这些对于软件工程的发展都产生了重要的影响。
人月是一个神话,现如今软件工程却是真实地在解决软件过程中的问题,提高软件产品的质量。研究人员和实践人员的不断探索或许永远无法一劳永逸地解决所有问题,但是从中积累地经验却能够有效地指导我们更好地应对大型软件系统的实现与管理。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 大模型 Token 究竟是啥:图解大模型Token
· 35岁程序员的中年求职记:四次碰壁后的深度反思
· 继承的思维:从思维模式到架构设计的深度解析
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· BotSharp + MCP 三步实现智能体开发
· BotSharp 5.0 MCP:迈向更开放的AI Agent框架
· 5. RabbitMQ 消息队列中 Exchanges(交换机) 的详细说明
· 设计模式脉络
· 【ESP32】两种模拟 USB 鼠标的方法