(文末赠书)我为什么推荐应该人手一本《人月神话》
能点进来的朋友,说明你肯定是计算机工作的朋友或者对这本书正在仔细琢磨着的朋友。
文章目录
- 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 简述 问:为什么要设置代码模板? 答:编程语言是有个性的,不同语言的演讲风格是不一样的。 旁白:我不懂?! 问:为什么要设置…...
Linux下修改jar包中的配置文件application.conf
文件位置 jar包文件工程目录 打包后解压jar包目录 提取和上传 jar tf XXX.jar # 获取包内文件 application.conf是jar包的配置文件,如果修改需要 提取文件 jar xf my-app.jar application.conf 修改后上传文件 jar uf my-app.jar application.conf...
【python绘图—colorbar操作学习】
文章目录 Colorbar的作用Colorbar的操作截取cmap拼接cmap双刻度列colorbar 引用 Colorbar的作用 Colorbar(颜色条)在绘图中的作用非常重要,它主要用于以下几个方面: 表示数据范围: Colorbar可以显示图中的颜色映射范围…...
Python+Appium自动化测试-编写自动化脚本
之前已经讲述怎样手动使用appium-desktop启动测试机上的app,但我们实际跑自动化脚本的过程中,是需要用脚本调用appium启动app的,接下来就尝试写Python脚本启动app并登陆app。环境为Windows10 Python3.7 appium1.18.0 Android手机 今日头条…...
AMEYA360|ROHM罗姆首次推出硅电容器BTD1RVFL系列
全球知名半导体制造商ROHM(总部位于日本京都市)新开发出在智能手机和可穿戴设备等领域应用日益广泛的硅电容器。利用ROHM多年来积累的硅半导体加工技术,新产品同时实现了更小的尺寸和更高的性能。 随着智能手机等应用的功能增加和性能提升,业界对于支持更…...
Linux发散小知识
linux/unix哲学:KISS Keep It Simple and Stuid。 "提供一套机制,而不是策略",“万般皆文本,四处用脚本” unix的数据流追求简单化、通用性、可视性、设备无关,二进制肯定无法做到这些,因此文本…...
GTS 中testPeakPssOfAllApps fail 详解
0. 前言 GTS 在测试 case armeabi-v7a GtsMemoryHostTestCases 的时候出现下面异常,本文总结一下。 com.google.android.memory.gts.AllAppsMemoryHostTest#testPeakPssOfAllApps 1. error log 09-14 10:16:34 I/TestFailureListener: FailureListener.testFaile…...
linux查看远程仓库的分支
在 Linux 终端中,您可以使用 git 命令来查看远程仓库的分支。git 是版本控制系统,用于管理代码的版本和协作开发。以下是查看远程仓库分支的方法: 查看所有远程分支: git ls-remote <remote_repository_url> 这个命令会显示…...
【Linux常用命令】
编程不良人 Linux 笔记 一、防火墙相关 1、查看防火墙状态 systemctl status flrewalld2、如果防火墙是开启状态的,需要关闭 systemctl stop firewalld3、永久行关闭操作(禁止开机自启动) 因为防火默认是开启状态的,如果只是手…...
QString类与整型,浮点数互转
本文介绍QString类与整型,浮点数之间的相互转换。 1.QString类转整型 QString类转整型(包含2进制,8进制,16进制),可以使用QString的toInt()函数。 QString str("1234"); bool bOK false; int…...
基于STM32F407ZET6的环境温湿度监控系统(粤嵌GEC-M4)
注意使用事项: 开发板如下 由于外部晶振是8M,需要修改setup和stm32f4头文件的晶振值。 操作如下: system_stm32f4xx.c的254行 #define PLL_M 8stm32f4xx.h的127行 #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the Ex…...
wordpress防攻击代码/seo优化检测
转自:https://wenku.baidu.com/view/84fa86ae360cba1aa911da02.html 建立struts2wildcard项目,此实例基本仿照前面前面第7点的实例改写而成。为了使用通配符,只需要改写配置文件即可。此实例未使用通配时的配置文件如下: <acti…...
阿里云centos安装wordpress/seo排名怎么优化软件
用Delphi制作DLL的方法 一 Dll的制作一般步骤 二 参数传递 三 DLL的初始化和退出清理[如果需要初始化和退出清理] 四 全局变量的使用 五 调用静态载入 六 调用动态载入 七 在DLL建立一个TForM 八 在DLL中建立一个TMDIChildForM 九 示例: 十 Delphi制作的D…...
企业知识库wordpress/优秀营销案例分享
个人博客请访问 http://www.x0100.top 通常如何通过连接访问下游? 工程架构中有很多访问下游的需求,下游包括但不限于服务/数据库/缓存,其通讯步骤是为: (1)与下游建立一个连接; ÿ…...
幼儿园网站建设工作总结/搜索app下载安装
介绍一款新的绘图神器:sviewgui。sviewgui介绍sviewgui是一个基于 PyQt 的 GUI,用于 csv 文件或 Pandas 的 DataFrame 的数据可视化。此 GUI 基于 matplotlib,您可以通过多种方式可视化您的 csv 文件。主要特点:Ⅰ 散点图、线图、…...
代做计算机毕业设计网站/手机百度提交入口
树立新的课程观念提高教育教学质量<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />在这段时间里,我们参加了新一轮校本培训。在一学期走过的路,我们开展了许多的探索,也取得了一些阶段性成果&…...
宁波做网站的大公司有哪些/如何创建一个网址
各位尊敬的Autodesk 合作伙伴,大家好! 相信您在过去的一年里应该对Autodesk最新的云服务技术有所了解,您是不是曾经闪现过一些很好的想法,却由于不确定是否真实可行,或担心没有技术支持来帮助您实现,亦或可…...