文档章节

《梦断代码》鸡汤喝完口有余香

东皇巴顿
 东皇巴顿
发布于 2017/03/24 23:01
字数 1158
阅读 34
收藏 0

   

读后小感:

1. 这是一个用Python正儿八经做应用层级的软件的真实故事,其实就是一个类似Outlook的邮件与任务管理系统。(当然书里面认为人家做的是个更有想法和高大上的软件,不属于Outlook之流)很多大牛X的名字出现在这个故事中,比如Python之父范.罗萨姆,甚至美国前国防部长戈尔也友情客串一把。

2. 情节说狗血吧,但软件工程遭遇的一切黑天鹅事件,我们能想到的事情,也都发生了。这种朴素的软件过程定理,这与这个团队里面是多牛X的成员无关。

3.动工之前选用什么计算机语言,Python、Perl、C、JAVA,也是一通掐。甚至两个派系的理念完全背道而驰。There's more than one way to do it! --大陆绝非一条,代表了Perl的信条。There's only way to do it! --大陆仅此一路,代表了Python的信条。最终,也不存在什么理性不理性的原因,JUST,仅仅是团队成员喜欢用Python,战胜了“怎么能用脚本语言来做一个目标宏伟、关乎财务命运的桌面应用系统?”,仅仅将押宝放在了Python能给予程序员的额外开发效率上。因为这个上世纪80年代就诞生的程序语言,甚至比JAVA的年龄还大,确实积累了大量可供使用的武器装备库。但是对于如何抵消Python自身的性能阳痿问题,团队认为有摩尔定律给予最终用户提供额外的性能支持。

4.为了吸金,当软件还是一个想法的时候,宣传、铺垫、理念就已经开始在推广了,甚至第一个推出的0.1版本叫做“B超”版,连出生的婴儿都不算,各种功能不健全,有些功能甚至打开后写着“此功能下一版本提供”。居然可以被受众理解和认可,才可能有后来不断的持续发布迭代版本。要知道那时候微软的Outlook已经是实际意义上存在的强大任务管理系统了。

5. 里面讲了几个重要的“重复造轮子”导致项目严重滞后的事情。也许大牛太多,甚至从Berkeley中抽离出数据层的框架,要再开发一个存储系统。因此,最终团队里的第一个纪律就是不要再重复造轮子了。

6. 要永远想着和关注性能问题,但在第一个功能稳定版本的迭代中,太早性能优化可能是个噩梦。印证了UNIX之父曾说过“过早的优化是万恶之源”,因为:让正确的程序更快,要比让快速的程序正确容易得多。 但第一个稳定版一旦上市发布,留给你的性能优化时间窗口,又是十分的紧迫。

7. 要将设计文档(老外叫规格说明书)写的多详细才好。再牛X的老外程序员也面临着,“多做一步是错还是错,少做一步是错还是错”的问题。幸好,团队里从上到下都是技术大牛,能够理解软件工程在这方面的痛点。最后两个办法:办法一,功能开发前,产品经理、功能设计、美工、开发一起头脑风暴,确保每个人对当前要实现的功能充分理解,达成一致,OK,文档可以少写点了。办法二,代码中加满注释,文档也可以少写点,但要保证代码的随时共享,代码即文档,产品经理和功能设计会去审阅代码,确保程序员的理解与最初的设计想法是一致的。

8.看完书,发现从头至尾,发现有质量监控,但没有提到测试员。硅谷文化一,程序员要吃自己的狗粮,(程序员要使用自己开发的软件),开发环节要保证质量,当然大牛太多的Team,你写的代码太鸡巴垃圾,你第二天都不好意思来上班。硅谷文化二,Team里都有一个脾气火爆的Manager,常常用Fuck You、SB来骂人,这对每个人都是刺激和压力。比尔盖斯在微软工作时脏话不离口,乔布斯在苹果是出了名的暴烈脾气。

© 著作权归作者所有

东皇巴顿
粉丝 3
博文 42
码字总数 57682
作品 0
海淀
技术主管
私信 提问
李笑来登GitHub趋势榜第一,教你自学编程,含37%“硬核鸡汤”

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yH0VLDe8VG8ep9VGe/article/details/88638010...

量子位
03/18
0
0
java 开发将3年了 想换行了, 如果失败了, 还能捡起java重来吗

如题 作为码农,日复一日的开发疲倦了, 开发的高薪是不想放弃的缘由, 可伴随近日的高强度加班赶进度, 不得不怀疑这样固步自封的填鸭式代码有什么作用; 平常人一个,不是技术控 勉强混口饭吃,对...

尾生
2018/04/17
3.4K
21
为什么我们如此厌恶鸡汤

为什么我们如此厌恶鸡汤   不知道什么时候开始,鸡汤已经变成了一个充满贬义的词语。朋友圈里的转发,鸡汤,差评,要是有人隔三差五就发鸡汤说什么也得把他屏蔽了;知乎上的答案,鸡汤,反对...

开元中国2015
2015/05/04
172
0
别再用比尔盖茨式的成功骗自己了

我从小就有一个宿敌,他是我妈妈同事的儿子,和我家住一个小区,是我的同班同学,他次次考试年级第一,最后上了名校,而我学习一直不咋地,读了一所九流大学。如今,他妈妈正在跟我炫耀他要去...

明哥聊求职
2017/12/20
0
0
程序员进阶之算法练习(三十一)

前言 BAT常见的算法面试题解析: 程序员算法基础——动态规划 程序员算法基础——贪心算法 工作闲暇也会有在线分享,算法基础教程----腾讯课堂地址。 正文 1.Mahmoud and a Triangle 题目链接...

落影loyinglin
2018/07/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数据库

数据库架构 数据库架构可以分为存储文件系统和程序实例两大块,而程序实例根据不同的功能又可以分为如下小模块。 1550644570798 索引模块 常见的问题有: 为什么要使用索引 什么样的信息能成...

一只小青蛙
今天
4
0
PHP常用经典算法实现

<? //-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ( $low <= $high){ $mid = int......

半缘修道半缘君丶
昨天
5
0
GIL 已经被杀死了么?

本文原创并首发于公众号【Python猫】,未经授权,请勿转载。 原文地址:https://mp.weixin.qq.com/s/8KvQemz0SWq2hw-2aBPv2Q 花下猫语: Python 中最广为人诟病的一点,大概就是它的 GIL 了。...

豌豆花下猫
昨天
5
0
git commit message form

commit message一般包括3部分:Header、Body、Footer。 <type>(<scope>):<subject>blank line<body>blank line<footer> header是必需的,body、footer可以省略。 header中type、subject......

ninjaFrog
昨天
5
0
聊聊Elasticsearch的CircuitBreakerService

序 本文主要研究一下Elasticsearch的CircuitBreakerService CircuitBreakerService elasticsearch-7.0.1/server/src/main/java/org/elasticsearch/indices/breaker/CircuitBreakerService.ja......

go4it
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部