第一章 绝地反击之术
待办事项不靠谱
与其用软件去记录那些待办事项,不如用脑子记住他们。不要去规划什么时间内该干什么,有时候会发现很多不如意的地方。
今天上班可以放羊
不要形成工作就是干活的思想,适当的放松,适当思考自己下一步也挺好。
你没有说服我
如果你想影响别人,你必须有能力说服他们。而办法是:1.从总体上说,你的观点还是相当不错的;2.你做事是自下而上;3.你总是能够带头亲自去做事,以赢得别人的信任;4.你拥有足够的耐心去等待机会的到来。
真正失败的项目
如果你没有从一个项目中学到一点东西,那才是真正的失败。
激情造就天才
也许你不是先天的天才,但是你如果有足够的激情,那你也可以做后天的天才。
勿以专家自居
当你用专家或自以为洞悉一切的眼光去面对软件开发,必将面临失败。作为一个专家,重要的不是告诉别人你知道什么,而是知道你该问什么问题。
行百里者半九十
搞清楚计划表,不要做到最后只能完成90%。
管理中要有信任
信任是无法代替管理的,但管理中却必须要有信任。
博伊德迭代法则
迭代速度胜过迭代质量。疑惑之时,唯有快速迭代方能突围。
十年磨一剑
成功需要付出多年的努力。
第二章 编程之道
切记少根筋
优秀的开发者和平庸的开发者之间存在一条鸿沟。成为更加优秀的程序员的办法是抛开编程。培养自己对编程周围的所有事情的热情。
破窗理论
不要放任”破窗“不管,一旦发现就要尽快恢复,以防止进一步的破坏。谨小慎微。
要么热爱,要么离开
对于编程:要么热爱,要么离开。最杰出的程序员,他们对所从事的事情都有着终身的热枕。
简单之美
1.保持简单 2.不要妄加推测 3.自己动手做
简单必须被强制执行。
乐于删代码
乐于删代码。
你是程序员这块料么
大部分人学不会编程。
你循规蹈矩么
软件开发按照流程来。
科里定律:坚守一个目标
Don't Repeat Yourself 2.Once And Only Once 3.Single Point Of Truth
单一职责原则:就一个类,应该仅有一个引起它改变的原因。
最牛的编码套路
训练的主要价值在于发现弱点,并针对性的进行提高。
写博客,积极参加著名的开源项目。
孤独的人是可耻的
与同伴一起工作。软件开发其实是一种社会活动。
你有编程伙伴么
在你嵌入代码前,和你的伙伴一起看一遍代码。
软件学徒制
晚上学习理论,白天编程工作——一种组合方式特别有效。
第三章 Web设计原则
网站的判断标准
网站首页要给人一种眼前一亮的感觉
1.加载速度要快
2.告诉别人你做的是什么
3.网页上给别人看个例子
4.清楚地告诉别人要做什么,并扫除障碍
5.拥抱你的受众,即使这意味着把其他受众排除在外
在任何web应用中,设计首页的基本草图是你应该做的第一件事,因为他是至关重要的初始设计文档,也是你的远景申明。
追求简单
把最少当做一种竞争优势
应用会取代网站么
拥抱约束
从简单设计入手,必要时按比例放大,而不是一开始就把事情搞得很复杂,所以被迫收缩。
应用好:1.运行快2.使用简单的原生ui控件3.更好地利用屏幕空间4.更适合移动环境
网站好:1.可以安装在任何设备的浏览器上2.网站不需安装3.不必手动升级4.提供了统一的用户体验
切莫墨守成规
协调一致总是优于标新立异
-
全面了解当前的规范以及他形成的缘由
-
偏离这个规范需要有理有据
-
在实验过程中收集用户使用数据
-
基于数据做决定
可用性并非阳春白雪
如果你的项目里没有人关心可用性,那么你的项目注定会失败
费茨定律的另一面
如果想要用户点击某些ui元素,为了获得更大的点击率,我们应该把它做的大一点,并且尽可能把他们放在角落
要让不常用或危险的ui难以被点击
可用性与易学性
敢说不
除了关键性功能之外的所有东西统统说不
用户界面很难做
第四章 关于测试的一些思考
单元测试是必要的
单元测试的真正价值在于,它迫使你停下来,未测试思量一番
有时候是硬件的问题
用memtest86+测试内存的稳定性
用prime95测试cpu的稳定性
异常驱动的开发
建立一种异常和错误报告机制
异常日志才是用户反馈中的根本
问题不在于你发布软件时带出多少bug,而在于你能多快修复他们
第五章 了解你的用户
逻辑人的争议
自以为是典型用户
象牙塔式的开发
不要把其他所有人当成开发者在整个项目周期内,请尽力将你的开发人员暴露在用户面前
让程序员设计界面的后果
是朋友,就别让你的朋友做出只有程序员才会用的界面
保护“中间分子”
“中间分子”才是最重要的用户能“偷”来的,你就别自己去做
每个用户都会说谎
用户的愿望与事实几乎总是相悖的
别把产品发布当目标
有多少用户真正使用你的软件,才是衡量成功的终极标准
别问,须观察
你必须观察他们真正做了些什么在可用性方面,为了超越靠猜测行事,你必须去观察用户如何使用你的软件,除此之外别无他法
功能越多越好么?
我们也许不该再盲目地把软件当成一堆功能来衡量
生物会为所欲为
为了一点绶带
为反社会人群构建社交软件
如果你想在网上学点东西,你必须好好设计你的软件,引导人们与生俱来的社会群体冲动,并使他们重新聚焦在有价值的事情上
第六章 互联网的那些事儿
保存互联网,留住所有记忆
网络中立的重要性
youtube上的版权保护
谨慎行事
第七章 游戏和编程
我的编程生涯始于basic
我们遇到敌人了,他就是我们自己。
想玩游戏就自己写
对于程序员来说,分析游戏和玩游戏几乎是一样有趣的。
游戏玩家到程序员的蜕变
第八章 阅读之美
不读书,谁之过
自助者,天助之
计算机犯罪的历史与现状
如何与人交流
勤练基本功
附录
纪律造就强大的开发者
软件开发之50年历程
如何写技术文档