joel on software台版稿子分类

joel on software台版文章分类
这几天都住在七天,开发计划暂停。翻看了一下 local.joelonsoftware.com上的台译文章。简单归类整理一下:

1. 程序员修养
* 你絕對不應該做的事
要点:不要轻易把遗留代码推倒重来。

* 每個軟體開發者都絕對一定要會的Unicode及字元集必備知識(沒有藉口!)
要点:如题。

* 別讓架構太空人嚇到你
要点:地球很危险,你还是回火星吧。

* 邊開火邊移動
要点:立刻行动,避免打断。

* 抽象滲漏法則
要点:所有重大的抽象机制在某种程序上都是有漏洞的。

* 程式設計領域的帕麥爾斯頓勳爵
要点:优秀的程序员必须了解抽象层下面的东西。

2. 产品策略

创业(新产品)策略书系列:
* 策略書之一: Ben and Jerry模式與Amazon模式
要点:稳步发展 vs. 快速扩张

* 策略書之二:雞生蛋蛋生雞問題
要点:先有产品 vs. 先有用户 (新产品应兼容现有的主流同类技术)

* 策略書之三:讓我換回去!
要点:那些人现在并不是你的客户,试图在他们成为你的客户之前去锁定他们,只会把他们锁在外面。(要让客户有随时弃用产品的安全感)

* 策略書之四:腫脹軟體(bloatware)與80/20神話
要点:“精简版”的弊端

* 策略書之五
要点:让产品的互补物普及化

无痛功能规范系列:
* 無痛功能規格 - 第一篇:何必麻煩呢?
要点:功能规范的重要性。
* 無痛功能規格 - 第二篇:規格是什麼?
要点:如何组织功能规范的内容。
* 無痛功能規格 - 第三篇:不過...要怎麼做呢?
要点:写功能规范的程序经理(Program Manager)应该具备什么素质。
* 無痛功能規格 - 第四篇:提示
要点:如何写出良好的功能规范。

其他:

* 絕不妥協的抓蟲行動
要点:哪些bug应该修正(哪些可以暂时不管)?

* 工匠技藝
要点:最后的1%软件质量问题会用掉500%的工夫,但真正的工匠会不惜花额外的500%力气去处理1%的状况。工匠技艺的代价是非常昂贵的,唯一负担得起的方法就是针对大量客户开发软件。

* 揭露冰山般的秘密
要点:客户不知道他们自己要什么,别再期望客户知道他们自己要什么。

* 為非我發明症辯護
要点:如果是核心的业务功能,不管是什么都要自己来做。


3. 项目管理

* 無痛軟體時程
要点:日程规划应该细化到2到16小时的粒度;绝对不要让经理要求程序员缩减估计时间;根据日程规划来筛选功能,而不是根据功能来扩充日程。

* 人的工作切換有害無益
要点:不要让你的程序员多线程工作。

* 小員工也能做大事
要点:如何在团队中推广良好的过程管理技术。

* 大麥克對原味主廚
要点:小心方法论!

4. 人力资源

* 軟體人員面試教戰守則
要点:面试官的教程。

* 激勵有害
要点:用物质和绩效来激励程序员的弊端。

5. 程序员的人机界面设计手册系列

* 程式師的使用介面設計手冊 第一章:控制你的環境使你快樂

* 程式師的使用介面設計手冊 第二章:找出使用者的期望

* 程式師的使用介面設計手冊 第三章:選擇

* 程式師的使用介面設計手冊 第四章:情境支持與隱喻

* 程式師的使用介面設計手冊 第五章:一致性及其他怪東西

* 程式師的使用介面設計手冊 第六章:為節省大家的麻煩所作的設計

* 程式師的使用介面設計手冊 第六章:為節省大家的麻煩所作的設計
要点:用户不读手册!

* 程式師的使用介面設計手冊 第七章:為節省大家的麻煩所作的設計,第二部份
要点:用户无法把鼠标控制得很好!

* 程式師的使用介面設計手冊 第八章:為節省大家的麻煩所作的設計,第三部份
要点:用户记不得任何东西!

* 程式師的使用介面設計手冊 第九章:一個產品的設計程序