软工读书笔记 week4 ——《黑客与画家》下
因为时间有限,只对书中后半部分几个篇章进行了阅读。
一、另一条路
作者以他自己为例,在那个没人知道什么叫“软件运行在服务器时”的时代,他和朋友选择创业时,没有选择写传统的桌面软件,而是走了另一条路,也就是写在服务器上运行的软件。而事实证明,他们是正确的,他们不但取得了巨大成功,甚至可能引领了下一个潮流。
其实说到潮流,大多数人都在追随着潮流,当然这不是件什么坏事。但是我们不能总是在现有的潮流中迷失自己。也就是说,眼光要放长远一点。你永远不知道下一个潮流是什么,所以,不要觉得有些自己现在做的事没用,他们会在该发挥用处的时候大放异彩。而如果我们还能够对未来的潮流有敏锐的嗅觉,去把握它,那么等这个潮流真正到来时,我们就是最大的赢家。
作者就是选择了互联网软件这条路,从而取得了成功。与互联网模式相比,桌面软件实在显得有些麻烦。桌面软件要使用就必须先安装,而互联网软件则可以更便捷地访问。打个比方,桌面软件就像是一幢单独的大楼,而互联网软件则像是一个由各种高楼大厦构成的城市。而从发布方式来看,互联网软件修改起来更方便。这种种优势,现在也许在我们看来都是显而易见的事,但如果我们处在作者那个时期,我们能看的这么明确吗?
我觉得作者虽然这一部分没有太多提到“黑客”,但这就是一种“黑客精神”。这也和作者在前面提到的黑客的价值观、黑客的标准相符,即“好玩、高智商、探索精神”。
二、逆向 “人月神话”
虽然我还没有读过《人月神话》这本书,通过别的同学的读书笔记,我也多少有些了解。“人月”指的是一个人在一个月内能完成的工作量。看起来人越多项目完成时间越短,但是在软件项目上,当项目进度落后时,一味增加人力并不能达到目的,甚至会有反效果。因为人多意味着沟通需要更多时间,开会讨论、相互协调等等事项所耗费的时间往往随着人数增加成指数增长。
这一点我也有体会,上学期的电子设计实践二课程中,我们组只有三个人,大多数组有五个人,但是我们的进度却是很靠前的(当然也跟我们的项目选题比较简单有关)。只有三个人的话,我们分工比较明确,每周和助教汇报的时候把下周的目标定好,然后各自做各自的部分,平时通过QQ就能很方便沟通,也不怎么需要开会,项目的进度基本按着预期制定的执行。其实有时候人一多反而不好分工,当然这得看是什么项目,毕竟有些项目工作量还是摆在那里的。
三、设计师的品味
从事软件行业,不光要有过硬的技术,也要有良好的品味。这就像我们做海报一样,即使你Photoshop用得再娴熟,你没有良好的审美,你做出来的海报也难以被被人欣赏。人们往往倾向于用“品味是个人偏好”这一论断去减少一些对于事物看法上的争执。确实,“萝卜青菜,各有所爱”,但不可否认的是,有些东西,它确实就是“优美的”。设计师必须要承认,世界上存在一种人们公认的东西叫做“美”,而不是“美”只在于每个人的心中。
那什么是好的、美的设计?好的设计应该是简单的、不过时的、能解决主要问题的设计,当然能有启发性,趣味性则更好。好设计还是看着容易的设计,我们看一些好看的海报、好看的网页设计,往往觉得它看起来做着很简单,但其实如果要我们自己来做,就能发现其中的不易。
软工读书笔记 week4 ——《黑客与画家》下的更多相关文章
- 软工读书笔记 week 9 ——《构建之法》
软工读书笔记 week 9 ——<构建之法> 最近的三周我们正式开始我们的项目.然后我也把<构建之法>中的相关章节再拿出来读了一番.以下是一些 ...
- 软工读书笔记 week3 (《黑客与画家》上)
一.何谓黑客? 黑客,在我们大多数普通人眼里,就是入侵计算机的人,通常还与干坏事挂钩.而书中告诉我们,这 并不是它的真正含义.而要想理解这本书,就要首先理解什么是黑客. 黑客这个词最初起源时,完全是一 ...
- 软工读书笔记 week 5 ——《构建之法》
本周主要对<构建之法>中的一部分进行阅读. 一.软件与软件工程究竟是什么? 本书的概论部分就指出“软件 = 程序 + 软件工程”.而我们这门课的名字就叫“现代软件工程”.其实在上课之前,我 ...
- 软工读书笔记 week 8 —— 《疯狂的程序员》
这次接着上一次的进度继续阅读,并将其中感悟较深的几点记录如下. 程序员是一个幕后工作者 书中绝影给医院写软件,而医生(用户)只是评价这个软件好不好用,而不会去评价写这个软件的程序员优不优秀. ...
- 软工读书笔记 week 1
这次读书笔记主要是就<程序员修炼之道>这本书的前半部分做一些总结以及发表一些自己的看法. 本书前面的一部分主要是一些程序员应该在工作中时刻注意的事情,一些关键的信息如下: 1.处理问题的态 ...
- 软工读书笔记 week 6 ——《疯狂的程序员》Part 1
这本小说以主人公绝影上大学后初次接触编程开始讲起,这周主要看的就是绝影还在大学的那段经历,虽然故事背景很多年前,但很多地方仍然会引发我的共鸣. 第一个梦想 在“第一个梦想”一节讲了作业布置做一个通讯录 ...
- 软工读书笔记 week 7 ——《构建之法》
总时长近两周的结对项目终于算是结束了,马上要重新开启团队项目.于是这几天决定对<构建之法>一书中与团队项目及需求分析有关的章节进行重点阅读,希望能够从中得到启发,并运用到接下来的团队项目中 ...
- 软工读书笔记 week2
<程序员修炼之道>这本书后面一部分则是更深入.更具体.更细致地就程序员应该注意的事项做一些讨论,书中说的很多在过去的经历中都有较深的体会,同时也给了我很多启发.以下是一些我感悟较深的点: ...
- 《程序员思维修炼》读书笔记——week4
<程序员思维修炼>读书笔记——week4 PB16061441 陈昶金 这周读的是Andy Hunt的著作<程序员思维修炼>,这本书对于我这种刚刚入门的新手很友好,大多是讲一些 ...
随机推荐
- 【Three.js】如何选中外部模型
1.问题 three.js中模型选中使用的是射线法,根据摄像机角度,鼠标点击位置和模型选中的distance参数判断来选中模型.对于原生的矢量模型完全没有问题,但是当遇到导入的外部模型,如obj.st ...
- Mac 10.12安装SVN工具SmartSVM 7.6
说明:SVN工具没有最好的,只有用的最顺手的. 下载: (链接: https://pan.baidu.com/s/1dFGqEsT 密码: uyjx)
- StackMapTable属性说明
(1)StackMapTable属性的说明 https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.7.4 (2)S ...
- 132页Filter代码分析
1.long before = System.currentTimeMillis(); long after = System.currrentTimeMillis(); 解析:这两段代码之间定义的是 ...
- golang reflect包使用解析
golang reflect包使用解析 参考 Go反射编码 2个重要的类型 Type Value 其中Type是interface类型,Value是struct类型,意识到这一点很重要 Type和Va ...
- 使gitignore生效
git rm -r --cached . // 删除本地缓存 git add . // 添加要提交的文件 初次提交直接声明gitignore并提交就可以: 非初次提交,改动的gitignore要进行上 ...
- 举一反三 willDisplayCell在UICollectionView中的一些应用
一.UICollectionViewCell动画 上一篇博客写仿58同城实现UITableViewCell动画,同样UiCollectionView中也能用,上一个是从右到左的动画还比较好弄, 但如果 ...
- yii2 页面加载警告框
在视图页面代码如下 <?php use kartik\alert\Alert; echo Alert::widget([ 'type' => Alert::TYPE_INFO, 'titl ...
- 类class思维导图
- C# 转换Json类
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.R ...