(文末赠书)我为什么推荐应该人手一本《人月神话》
能点进来的朋友,说明你肯定是计算机工作的朋友或者对这本书正在仔细琢磨着的朋友。
文章目录
- 1、人人都会编程的时代,我们如何留存?
- 2、小故事说明项目管理着为什么必看这本书
- 3、如何评价《人月神话:纪念典藏版》
- 4、本书的目录(好不容易扒拉出来的目录,可以瞅瞅)
- 5、感谢关注我的粉丝和正在关注这本书的你,这本书送给你
1、人人都会编程的时代,我们如何留存?
我读的是一本《人月神话(纪念典藏版)》
,记得书中有一段话:
回首软件工程近40年的发展,Jackson哀叹软件行业普遍缺乏专业性,充满了业务人员,“手中有一个锤子,看到什么都是钉子”,谁都可以开发性命攸关的软件。
1000个人看到这段话,肯定有1000个不同的评论和感想。当我深入理解一番后,恍然大悟,觉得是挺有道理的。我的评论:
- 现在虽然是编程的时代,小学生在学,初中生在学,高中生在学,大学生还在学,甚至现在幼儿园的小朋友都在学习积木编程类的。经常看到各种广告在推广Python教程,我也每次经常点进去看看都包含什么内容。很多给非计算机专业的人士的Python课,打着学会之后可以帮你节省很多时间,例如可以做报表之类的,有些是很坑的,这里就不说透了。
现在的趋势已经非常明显了,正在朝着人人都必须会编程的时代发展,我们如何立足是个值得思考的问题。
- 上面这段摘抄的这段话中,可以让我们反省,如何在人人都会编程的时代中存活。答案也在这段话中,两三个字也可以概括:专业性。
没错,现在就是缺乏专业性的软件开发人员
。(请继续往下看,你就会发现新大陆)
2、小故事说明项目管理着为什么必看这本书
XXX公司,有一个叫做老王的中年程序员。他梦想着开发一个可以帮助村民买菜卖菜的应用App,现在为该项目负责人。为了更快完成这个项目,公司老板建议他聘请更多的程序员。
兴奋的老王开始与他的团队一起工作。但随着时间的推移,她发现项目进展缓慢,团队成员之间的沟通变得越来越复杂。老板看到项目滞后,建议他再招聘一些程序员。但令人意外的是,这只使情况变得更糟。
老王很困惑,他原以为有了更多的程序员,他可以更快地完成工作。但现实与他的预期相去甚远。
这时,镇上的一位老程序员给了他一本书《人月神话》。老王阅读后恍然大悟。他从中学到了软件项目的复杂性,了解了为什么仅仅增加更多的人手并不能解决问题,甚至可能导致更多的问题。
老王按照书中的建议调整了团队结构,更加注重沟通和计划,最终成功完成了他的项目
。
老板和用户们对这个应用都非常满意。而老王则深深地明白了,为什么每一位软件工程师都应该阅读《人月神话》。
这个故事强调了《人月神话》的重要性,即理解项目管理中的挑战,特别是当涉及到人的因素和团队动态时。
3、如何评价《人月神话:纪念典藏版》
《人月神话:纪念典藏版》(The Mythical Man-Month: Anniversary Edition)是《人月神话》原版的后续版本,由弗雷德里克·P·布鲁克斯在1975年版的基础上,新书增加了新的章节和内容。下面是《人月神话:纪念典藏版》的一些主要要点和读后感:
主要要点:
- 人月的神话:强调了向滞后的项目中增加人员只会导致其进一步滞后的观点。
- 没有银弹:认为不存在能够大幅度提高软件开发生产率的单一解决方案。
- 概念完整性:强调了产品设计的一致性和单一愿景的重要性。
- 重做而非修复:建议对第一次尝试的系统设计进行彻底的重做,而不是简单地修复。
- 沟通和文档:随着团队规模的增长,沟通成本也会增加。
- 软件的无形性:软件产品的进度和复杂性很难直观地看到,与物理产品不同。
- 过早优化:首先应关注产品的正确性和清晰性,再考虑优化。
- 技术与人的交互:强调了软件开发中人的因素的重要性。
- 大型项目的挑战:大型项目与小型项目存在根本的差异。
- 新章节:纪念典藏版增加了对原书观点的重新评价和反思。
可能的读后感:
- 时间的考验:即使在几十年后,作者的观点仍然具有相关性,这显示了他的见解的深度和持久性。
- 人的因素:软件开发不仅仅是关于代码或技术,人和团队之间的交互在项目成功中起着关键作用。
- 项目管理的复杂性:本书提供了对于为何软件项目经常延期和超预算的深入了解,这些观点在现代依然适用。
- 反思和学习:布鲁克斯在纪念版中的自我反思和对原有观点的评估展示了一个真正的学者和实践者应具备的自我批判精神。
- 启示和指导:对于软件工程师和项目经理,本书提供了宝贵的洞察和指导,帮助他们避免常见的陷阱,并更有效地进行项目管理。
读完纪念典藏版,许多读者可能会深受启发,并将作者的观点和经验应用到自己的工作中。
4、本书的目录(好不容易扒拉出来的目录,可以瞅瞅)
只看目录,就很吸引到你了吧。别着急,一会送你一本。
只看目录,就很吸引到你了吧。别着急,一会送你一本。
只看目录,就很吸引到你了吧。别着急,一会送你一本。
目 录
第1章 焦油坑 / 001
编程系统产品 / 003
职业的乐趣 / 005
职业的苦恼 / 006
第2章 人月神话 / 009
乐观主义 / 011
人月 / 013
系统测试 / 016
空泛的估算 / 018
重复产生的进度灾难 / 019
第3章 外科手术队伍 / 025
问题 / 027
Mills的建议 / 029
如何运作 / 032
团队的扩建 / 033
第4章 贵族专制、民主政治和系统设计 / 035
概念的完整性 / 037
获得概念的完整性 / 038
贵族专制统治和民主政治 / 039
在等待时,实现人员应该做什么 / 042
第5章 画蛇添足 / 047
结构师的交互准则和机制 / 049
自律—开发第二个系统所带来的后果 / 050
第6章 贯彻执行 / 055
文档化的规格说明—手册 / 057
形式化定义 / 058
直接整合 / 061
会议和大会 / 061
多重实现 / 063
电话日志 / 064
产品测试 / 064
第7章 为什么巴比伦塔会失败 / 067
巴比伦塔的管理教训 / 069
大型编程项目中的交流 / 070
项目工作手册 / 070
大型编程项目的组织架构 / 074
第8章 胸有成竹 / 079
Portman的数据 / 082
Aron的数据 / 083
Harr的数据 / 084
OS/360的数据 / 085
Corbató的数据 / 086
第9章 削足适履 / 087
作为成本的程序空间 / 089
规模控制 / 090
空间技能 / 092
数据的表现形式是编程的根本 / 093
第10章 提纲挈领 / 095
计算机产品的文档 / 097
大学科系的文档 / 099
软件项目的文档 / 099
为什么要有正式的文档 / 100
第11章 未雨绸缪 / 103
试验性工厂和增大规模 / 105
唯一不变的就是变化本身 / 106
为变更设计系统 / 106
为变更计划组织架构 / 107
前进两步,后退一步 / 109
前进一步,后退一步 / 111
第12章 干将莫邪 / 113
目标机器 / 116
辅助机器和数据服务 / 118
高级语言和交互式编程 / 121
第13章 整体部分 / 125
剔除bug的设计 / 127
构件单元调试 / 129
系统集成调试 / 132
第14章 祸起萧墙 / 137
是里程碑还是沉重的负担 / 139
“其他的部分反正会落后” / 141
地毯的下面 / 142
第15章 另外一面 / 147
需要什么文档 / 150
流程图 / 152
自文档化的程序 / 156
第16章 没有银弹—软件工程中的根本和次要问题 / 163
摘要 / 165
介绍 / 165
根本困难 / 166
以往解决次要困难的一些突破 / 171
银弹的希望 / 172
针对概念上根本问题的颇具前途的方法 / 181
第17章 再论“没有银弹” / 189
人狼和其他恐怖传说 / 191
存在着银弹—就在这里 / 191
含糊的表达将会导致误解 / 192
Harel的分析 / 195
Jones的观点—质量带来生产率 / 201
那么,生产率的情形如何 / 201
面向对象编程—这颗铜质子弹可以吗 / 203
重用的情况怎样 / 205
学习大量的词汇—对软件重用的一个可预见但还没有被预言的问题 / 208
子弹的本质—形势没有发生改变 / 209
第18章 《人月神话》的观点:是与非 / 211
第19章 20年后的《人月神话》 / 235
为什么要出版20周年纪念版本 / 237
核心观点—概念完整性和结构师 / 238
开发第二个系统所引起的后果—盲目的功能和频率猜测 / 240
图形界面的成功 / 243
没有构建舍弃原型—瀑布模型是错误的 / 247
增量开发模型更佳—渐进地精化 / 249
关于信息隐藏,Parnas是正确的,我是错误的 / 254
人月到底有多少神话色彩?Boehm的模型和数据 / 256
人就是一切(或者说,几乎是一切) / 258
放弃权力的力量 / 259
最令人惊讶的新事物是什么?数百万的计算机 / 262
全新的软件产业—塑料薄膜包装的成品软件 / 264
买来开发—使用塑料包装的成品软件包作为构件 / 267
软件工程的状态和未来 / 269
结束语 令人向往、激动人心和充满乐趣的50年 / 271
5、感谢关注我的粉丝和正在关注这本书的你,这本书送给你
- 送书规则:
- 获奖规则:走心的好评论,就有机会获得一本书籍;
- 参与方式:
把自己的与软件工程的小故事写下来
,也可以写为什么需要这本书
,等等都可以写,放到本文评论区
;- 截止时间:
2023-9月15日20点整;
- 书籍邮寄:结束后,我会
第一时间在我的QQ社群发通知
,还会在评论区告诉你。没加QQ社群()的抓紧加啦
。
- 没中奖也没关系,可以参加内部的一个活动,直接买,反正也不差这几十块钱:
- 购书传送门:https://u.jd.com/vuzIvEp
京东领券地址(无门槛优惠券10元):
- APP:https://pro.m.jd.com/mall/active/2Z3HoZGKy5i9aEpmoTUZnmcoAhHg/index.html
- PC:https://pro.jd.com/mall/active/2Z3HoZGKy5i9aEpmoTUZnmcoAhHg/index.html
- 点我可以直达购买
相关文章:

(文末赠书)我为什么推荐应该人手一本《人月神话》
能点进来的朋友,说明你肯定是计算机工作的朋友或者对这本书正在仔细琢磨着的朋友。 文章目录 1、人人都会编程的时代,我们如何留存?2、小故事说明项目管理着为什么必看这本书3、如何评价《人月神话:纪念典藏版》4、本书的目录(好…...
回文串 rust解法
输入一个字符串,判断它是否为回文串。 输入字符串保证不含数字0。所谓回文串,就是反转以后和原串相同,如abba和madam。 样例输入: NOTAPALINDROME ISAPALINILAPASI 样例输出: not huiwen huiwen 解法: u…...
echarts常用参数详解汇总(饼图,柱形图,折线图)持续更新中
常用配置: X/Y轴线的基础设置《通用》 细微的差距只能去官网查看了,基本一致 这里只是做了个汇总方便查看 xAxis/yAxis: {show:false, // 不显示坐标轴线、坐标轴刻度线和坐标轴上的文字axisTick:{// 不显示坐标轴刻度线show:false, alignWithLabel: tru…...

最新ChatGPT网站源码+支持GPT4.0+支持Midjourney绘画+支持国内全AI模型
一、智能创作系统 SparkAi创作系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧&…...

【MySQL】基础SQL语句——库的操作
文章目录 一. 创建数据库1.1 基础语句1.2 字符集和校验规则1.3 校验规则对读取数据的影响 二. 查看数据库三. 修改数据库四. 删除数据库及备份4.1 删除4.2 备份和还原 结束语 一. 创建数据库 1.1 基础语句 最简洁的创建数据库的SQL语句是: create database db_nam…...

基于YOLOv8模型的海洋生物目标检测系统(PyTorch+Pyside6+YOLOv8模型)
摘要:基于YOLOv8模型的海洋生物目标检测系统可用于日常生活中检测与定位海洋生物目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法训…...

华为星闪联盟:引领无线通信技术创新的先锋
星闪(NearLink),是由华为倡导并发起的新一代无线短距通信技术,它从零到一全新设计,是为了满足万物互联时代个性化、多样化的极致、创新体验需求而诞生的。这项技术汇聚了中国300多家头部企业和机构的集体智慧ÿ…...

炒期权的资金门槛是多少 ?
期权是一种合约,买方向卖方支付一定费用后有权利在特定的时间,以特定的价格买入或卖出一定数量的特定资产,卖方需履行相应义务,期权开户支持线上和零门槛开头,下文介绍炒期权的资金门槛是多少 ?本文来自:期…...

matlab根轨迹绘制
绘制根轨迹目的就是改变系统的闭环极点,使得系统由不稳定变为稳定或者使得稳定的系统变得更加稳定。 在使用PID控制器的时候,首先要确定的参数是Kp,画成框图的形式如下: 也就是想要知道Kp对系统性能有哪些影响,此时就…...

Vue错误记录
文章目录 1. 项目build的时候报错Warning: Accessing non-existent property cat of module exports inside circular dependency2. WebpackOptionsValidationError: Invalid configuration object. Webpack has been initialised using a configuration object that does not …...

Linux 修改SSH的显示样式,修改终端shell显示的样式,美观更改
要修改SSH的显示样式,您可以使用自定义的PS1(提示字符串1)变量来更改命令行提示符的外观。在您的情况下,您想要的格式似乎包括日期和时间,以及当前目录。以下是一个示例PS1设置,可以实现您所描述的样式&…...
day40 设计模式、jdk8新特性
一、代理模式 为其他对象提供一种代理控制此对象的访问 若一个对象不适合直接引用另一个对象, 代理对象在客户端和目标对象之间起到中介作用 组成: 抽象角色:通过接口 抽象类 真实角色实现了哪些方法 代理角色:实现抽象角色…...

【数据结构】链表C++编写的,它定义了一个链表,并实现了一些基本的链表操作,如创建新节点、插入节点、清空链表、输出链表以及查找节点
// 引入标准输入输出流库,用于输出操作 #include <iostream> // 引入标准库中的stdlib,包含了rand()函数和其他相关函数 #include <cstdlib> // 引入标准库中的time,包含了time()函数和其他相关函数 #include <ctim…...

浏览器面试题
浏览器面试题 1.常见的浏览器内核有哪些?2.浏览器的主要组成部分有哪些?3.说一说从输入URL到页面呈现发生了什么?4.浏览器重绘域重排的区别?5.CSS加载会阻塞DOM吗?6.JS会阻塞页面吗?7.说一说浏览器的缓存机…...
Java Controller层异常处理示例【含面试题】
AI绘画关于SD,MJ,GPT,SDXL百科全书 面试题分享点我直达 2023Python面试题 2023最新面试合集链接 2023大厂面试题PDF 面试题PDF版本 java、python面试题 项目实战:AI文本 OCR识别最佳实践 AI Gamma一键生成PPT工具直达链接 玩转cloud Studio 在线编码神器 玩转 GPU AI…...

通过Git Bash将本地文件上传到本地github
1. 新建一个仓库( Repository) 1.1登录Github,点击个人头像,点击Your repositories,点击New。 1.2 填写信息 Repository name: 仓库名称 Description(可选): 仓库描述介绍,不是必填项目。~~建议填写上哦!…...

继承的笔记
继承 对象代表什么, 就得封装对应的数据, 并提供数据对应的行为 对于两种不同的类, 但是具有很多共同的属性的时候我们就想着用继承, 我们可以将共同的属性放置在一个类中, 然后, 只需要新建两个类, 继承共有的类, 然后单独写自己的属性特点 继承类 Java 中提供了一个关键字…...
Android7.1 ROOT权限的获取
修改文件: system/extras/su/su.c system/core/include/private/android_filesystem_config.h system/core/libcutils/fs_config.c frameworks/base/core/jni/com_android_internal_os_Zygote.cpp frameworks/base/cmds/app_process/app_main.cpp device/qcom…...

几个好用的数据标注软件labelme、CVAT及LabelImage
我们使用yolov3、yolov4、yolov5、yolov8等训练自己的权重时,需要有大量标注好的数据集,这里有几个好用的数据标注软件labelme、CVAT及LabelImage 一、labelme labelme:https://github.com/wkentaro/labelme 这个软件用的比较多,…...

VSCode学习笔记一:添加代码模板
一目了然 1 简述2 设置模板3 Global Snippets file示例 1 简述 问:为什么要设置代码模板? 答:编程语言是有个性的,不同语言的演讲风格是不一样的。 旁白:我不懂?! 问:为什么要设置…...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)
本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...
如何配置一个sql server使得其它用户可以通过excel odbc获取数据
要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据,你需要完成以下配置步骤: ✅ 一、在 SQL Server 端配置(服务器设置) 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到:SQL Server 网络配…...

macOS 终端智能代理检测
🧠 终端智能代理检测:自动判断是否需要设置代理访问 GitHub 在开发中,使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新,例如: fatal: unable to access https://github.com/ohmyzsh/oh…...

Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程
鸿蒙电脑版操作系统来了,很多小伙伴想体验鸿蒙电脑版操作系统,可惜,鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机,来体验大家心心念念的鸿蒙系统啦!注意:虚拟…...
【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析
1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器(TI)推出的一款 汽车级同步降压转换器(DC-DC开关稳压器),属于高性能电源管理芯片。核心特性包括: 输入电压范围:2.95V–6V,输…...

可下载旧版app屏蔽更新的app市场
软件介绍 手机用久了,app越来越臃肿,老手机卡顿成常态。这里给大家推荐个改善老手机使用体验的方法,还能帮我们卸载不需要的app。 手机现状 如今的app不断更新,看似在优化,实则内存占用越来越大,对手机性…...
Q1起重机指挥理论备考要点分析
Q1起重机指挥理论备考要点分析 一、考试重点内容概述 Q1起重机指挥理论考试主要包含三大核心模块:安全技术知识(占40%)、指挥信号规范(占30%)和法规标准(占30%)。考试采用百分制,8…...