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

(文末赠书)我为什么推荐应该人手一本《人月神话》

能点进来的朋友,说明你肯定是计算机工作的朋友或者对这本书正在仔细琢磨着的朋友。

展开封.jpg

文章目录

  • 1、人人都会编程的时代,我们如何留存?
  • 2、小故事说明项目管理着为什么必看这本书
  • 3、如何评价《人月神话:纪念典藏版》
  • 4、本书的目录(好不容易扒拉出来的目录,可以瞅瞅)
  • 5、感谢关注我的粉丝和正在关注这本书的你,这本书送给你

1、人人都会编程的时代,我们如何留存?

    我读的是一本《人月神话(纪念典藏版)》,记得书中有一段话:

回首软件工程近40年的发展,Jackson哀叹软件行业普遍缺乏专业性,充满了业务人员,“手中有一个锤子,看到什么都是钉子”,谁都可以开发性命攸关的软件。

1000个人看到这段话,肯定有1000个不同的评论和感想。当我深入理解一番后,恍然大悟,觉得是挺有道理的。我的评论:

  • 现在虽然是编程的时代,小学生在学,初中生在学,高中生在学,大学生还在学,甚至现在幼儿园的小朋友都在学习积木编程类的。经常看到各种广告在推广Python教程,我也每次经常点进去看看都包含什么内容。很多给非计算机专业的人士的Python课,打着学会之后可以帮你节省很多时间,例如可以做报表之类的,有些是很坑的,这里就不说透了。
  • 现在的趋势已经非常明显了,正在朝着人人都必须会编程的时代发展,我们如何立足是个值得思考的问题。
  • 上面这段摘抄的这段话中,可以让我们反省,如何在人人都会编程的时代中存活。答案也在这段话中,两三个字也可以概括:专业性。
  • 没错,现在就是缺乏专业性的软件开发人员。(请继续往下看,你就会发现新大陆)

2、小故事说明项目管理着为什么必看这本书

    XXX公司,有一个叫做老王的中年程序员。他梦想着开发一个可以帮助村民买菜卖菜的应用App,现在为该项目负责人。为了更快完成这个项目,公司老板建议他聘请更多的程序员。

    兴奋的老王开始与他的团队一起工作。但随着时间的推移,她发现项目进展缓慢,团队成员之间的沟通变得越来越复杂。老板看到项目滞后,建议他再招聘一些程序员。但令人意外的是,这只使情况变得更糟。

    老王很困惑,他原以为有了更多的程序员,他可以更快地完成工作。但现实与他的预期相去甚远。

    这时,镇上的一位老程序员给了他一本书《人月神话》。老王阅读后恍然大悟。他从中学到了软件项目的复杂性,了解了为什么仅仅增加更多的人手并不能解决问题,甚至可能导致更多的问题。

    老王按照书中的建议调整了团队结构,更加注重沟通和计划,最终成功完成了他的项目

    老板和用户们对这个应用都非常满意。而老王则深深地明白了,为什么每一位软件工程师都应该阅读《人月神话》。

这个故事强调了《人月神话》的重要性,即理解项目管理中的挑战,特别是当涉及到人的因素和团队动态时。

3、如何评价《人月神话:纪念典藏版》

《人月神话:纪念典藏版》(The Mythical Man-Month: Anniversary Edition)是《人月神话》原版的后续版本,由弗雷德里克·P·布鲁克斯在1975年版的基础上,新书增加了新的章节和内容。下面是《人月神话:纪念典藏版》的一些主要要点和读后感:
主要要点

  1. 人月的神话:强调了向滞后的项目中增加人员只会导致其进一步滞后的观点。
  2. 没有银弹:认为不存在能够大幅度提高软件开发生产率的单一解决方案。
  3. 概念完整性:强调了产品设计的一致性和单一愿景的重要性。
  4. 重做而非修复:建议对第一次尝试的系统设计进行彻底的重做,而不是简单地修复。
  5. 沟通和文档:随着团队规模的增长,沟通成本也会增加。
  6. 软件的无形性:软件产品的进度和复杂性很难直观地看到,与物理产品不同。
  7. 过早优化:首先应关注产品的正确性和清晰性,再考虑优化。
  8. 技术与人的交互:强调了软件开发中人的因素的重要性。
  9. 大型项目的挑战:大型项目与小型项目存在根本的差异。
  10. 新章节:纪念典藏版增加了对原书观点的重新评价和反思。

可能的读后感

  1. 时间的考验:即使在几十年后,作者的观点仍然具有相关性,这显示了他的见解的深度和持久性。
  2. 人的因素:软件开发不仅仅是关于代码或技术,人和团队之间的交互在项目成功中起着关键作用。
  3. 项目管理的复杂性:本书提供了对于为何软件项目经常延期和超预算的深入了解,这些观点在现代依然适用。
  4. 反思和学习:布鲁克斯在纪念版中的自我反思和对原有观点的评估展示了一个真正的学者和实践者应具备的自我批判精神。
  5. 启示和指导:对于软件工程师和项目经理,本书提供了宝贵的洞察和指导,帮助他们避免常见的陷阱,并更有效地进行项目管理。

读完纪念典藏版,许多读者可能会深受启发,并将作者的观点和经验应用到自己的工作中。

4、本书的目录(好不容易扒拉出来的目录,可以瞅瞅)

只看目录,就很吸引到你了吧。别着急,一会送你一本。
只看目录,就很吸引到你了吧。别着急,一会送你一本。
只看目录,就很吸引到你了吧。别着急,一会送你一本。

目 录
第1章 焦油坑 / 001
编程系统产品 / 003
职业的乐趣 / 005
职业的苦恼 / 0062章 人月神话 / 009
乐观主义 / 011
人月 / 013
系统测试 / 016
空泛的估算 / 018
重复产生的进度灾难 / 0193章 外科手术队伍 / 025
问题 / 027
Mills的建议 / 029
如何运作 / 032
团队的扩建 / 0334章 贵族专制、民主政治和系统设计 / 035
概念的完整性 / 037
获得概念的完整性 / 038
贵族专制统治和民主政治 / 039
在等待时,实现人员应该做什么 / 0425章 画蛇添足 / 047
结构师的交互准则和机制 / 049
自律—开发第二个系统所带来的后果 / 0506章 贯彻执行 / 055
文档化的规格说明—手册 / 057
形式化定义 / 058
直接整合 / 061
会议和大会 / 061
多重实现 / 063
电话日志 / 064
产品测试 / 0647章 为什么巴比伦塔会失败 / 067
巴比伦塔的管理教训 / 069
大型编程项目中的交流 / 070
项目工作手册 / 070
大型编程项目的组织架构 / 0748章 胸有成竹 / 079
Portman的数据 / 082
Aron的数据 / 083
Harr的数据 / 084
OS/360的数据 / 085
Corbató的数据 / 0869章 削足适履 / 087
作为成本的程序空间 / 089
规模控制 / 090
空间技能 / 092
数据的表现形式是编程的根本 / 09310章 提纲挈领 / 095
计算机产品的文档 / 097
大学科系的文档 / 099
软件项目的文档 / 099
为什么要有正式的文档 / 10011章 未雨绸缪 / 103
试验性工厂和增大规模 / 105
唯一不变的就是变化本身 / 106
为变更设计系统 / 106
为变更计划组织架构 / 107
前进两步,后退一步 / 109
前进一步,后退一步 / 11112章 干将莫邪 / 113
目标机器 / 116
辅助机器和数据服务 / 118
高级语言和交互式编程 / 12113章 整体部分 / 125
剔除bug的设计 / 127
构件单元调试 / 129
系统集成调试 / 13214章 祸起萧墙 / 137
是里程碑还是沉重的负担 / 139
“其他的部分反正会落后” / 141
地毯的下面 / 14215章 另外一面 / 147
需要什么文档 / 150
流程图 / 152
自文档化的程序 / 15616章 没有银弹—软件工程中的根本和次要问题 / 163
摘要 / 165
介绍 / 165
根本困难 / 166
以往解决次要困难的一些突破 / 171
银弹的希望 / 172
针对概念上根本问题的颇具前途的方法 / 18117章 再论“没有银弹” / 189
人狼和其他恐怖传说 / 191
存在着银弹—就在这里 / 191
含糊的表达将会导致误解 / 192
Harel的分析 / 195
Jones的观点—质量带来生产率 / 201
那么,生产率的情形如何 / 201
面向对象编程—这颗铜质子弹可以吗 / 203
重用的情况怎样 / 205
学习大量的词汇—对软件重用的一个可预见但还没有被预言的问题 / 208
子弹的本质—形势没有发生改变 / 20918章 《人月神话》的观点:是与非 / 2111920年后的《人月神话》 / 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多家头部企业和机构的集体智慧&#xff…...

炒期权的资金门槛是多少 ?

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

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++编写的,它定义了一个链表,并实现了一些基本的链表操作,如创建新节点、插入节点、清空链表、输出链表以及查找节点

// 引入标准输入输出流库&#xff0c;用于输出操作 #include <iostream> // 引入标准库中的stdlib&#xff0c;包含了rand()函数和其他相关函数 #include <cstdlib> // 引入标准库中的time&#xff0c;包含了time()函数和其他相关函数 #include <ctim…...

浏览器面试题

浏览器面试题 1.常见的浏览器内核有哪些&#xff1f;2.浏览器的主要组成部分有哪些&#xff1f;3.说一说从输入URL到页面呈现发生了什么&#xff1f;4.浏览器重绘域重排的区别&#xff1f;5.CSS加载会阻塞DOM吗&#xff1f;6.JS会阻塞页面吗&#xff1f;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. 新建一个仓库&#xff08; Repository&#xff09; 1.1登录Github&#xff0c;点击个人头像&#xff0c;点击Your repositories&#xff0c;点击New。 1.2 填写信息 Repository name: 仓库名称 Description(可选): 仓库描述介绍,不是必填项目。~~建议填写上哦&#xff01;…...

继承的笔记

继承 对象代表什么, 就得封装对应的数据, 并提供数据对应的行为 对于两种不同的类, 但是具有很多共同的属性的时候我们就想着用继承, 我们可以将共同的属性放置在一个类中, 然后, 只需要新建两个类, 继承共有的类, 然后单独写自己的属性特点 继承类 Java 中提供了一个关键字…...

Android7.1 ROOT权限的获取

修改文件&#xff1a; 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等训练自己的权重时&#xff0c;需要有大量标注好的数据集&#xff0c;这里有几个好用的数据标注软件labelme、CVAT及LabelImage 一、labelme labelme&#xff1a;https://github.com/wkentaro/labelme 这个软件用的比较多&#xff0c…...

VSCode学习笔记一:添加代码模板

一目了然 1 简述2 设置模板3 Global Snippets file示例 1 简述 问&#xff1a;为什么要设置代码模板&#xff1f; 答&#xff1a;编程语言是有个性的&#xff0c;不同语言的演讲风格是不一样的。 旁白&#xff1a;我不懂&#xff1f;&#xff01; 问&#xff1a;为什么要设置…...

大数据学习栈记——Neo4j的安装与使用

本文介绍图数据库Neofj的安装与使用&#xff0c;操作系统&#xff1a;Ubuntu24.04&#xff0c;Neofj版本&#xff1a;2025.04.0。 Apt安装 Neofj可以进行官网安装&#xff1a;Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 &#xff08;部分有免费额度&#x…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用

在工业制造领域&#xff0c;无损检测&#xff08;NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统&#xff0c;以非接触式光学麦克风技术为核心&#xff0c;打破传统检测瓶颈&#xff0c;为半导体、航空航天、汽车制造等行业提供了高灵敏…...