共用方式為


Windows 機密:功能之戰

當你想要重新設計一個功能從零開始時,每個老功能成為一個新的功能要求。

Raymond Chen

常常,UI 的元件會大修。 當發生這種情況時,每個其他功能將啟動-100 點 — 即使是在舊版本中已經存在的功能。

這一概念-100 點的是最初的EricGunnerson 時,解釋討論為什麼 C# 語言具有的一些特徵,而不是其他。 原則一般適用于任何產品的設計過程。 每一種功能的想法始-100 點的假想的赤字。 這意味著它已作為一個整體展示產品重大網積極影響,為了湧現作為正在真正值得考慮的。

一種功能,提供了快捷方式的東西,已經是相當容易做到不會獲得很多積分和將無法達到積極的領土。 一種功能,好處只有一小部分的使用者也會失敗要掙足夠的分,克服其初始的赤字。 一種功能,似乎對自己相當簡單,但創建額外的複雜性,在其他地方可能最終淨負。 這是一個夠糟的情況即使沒有附加罰款的開始與消極的"得分"。

讓我開始

在Windows 95的開始功能表替換舊的程式管理器從 Windows 3.1。 程式管理器有一個選項是保存設置退出。 如果您未選中它,您對程式組所做的任何更改將會被丟棄,當您登出時。 在Windows 95中沒有相應的功能。

功能-去除發生時,經常有被附加到該舊功能從舊設計的人的巨大譁然。 他們說:"如何敢你刪除 X 功能從重新設計的 Frimble Framble?"這個問題是落後,但是。 該功能並不是從重新設計的 Frimble Framble 中刪除。 該功能在經過重新設計的 Frimble Framble 從未存在過。 所以它不是功能被刪除 — 它是不添加了該功能。

踢到路邊的舊代碼並從頭開始的決定大概是不是就是為了搞笑。 舊的設計可能不再適合現代的工作負載。 有數以百萬計的記錄時,工作時有幾個數千條記錄的設計可能不以及工作。 舊的設計可能只是過時的。 而不是試圖建立一個新的版本在那個舊,設計師們決定去與一個新的開始。

從以前設計的所有功能都上陣功能作戰的所有功能從新設計。 大多數將生存是因為它們是任何設計要考慮到的基本功能。 他們很容易克服,100 點赤字,所有功能都都在過程的開始。

另一方面,更多深奧或較少使用的功能不可以進的最終版本。 其他人可能無法生存的不是沒有點,但由於缺乏資源。 假設一個舊的設計有 100 功能。 假設您有足夠的資源來給 100 功能的新版本。 如果從舊設計的每個功能都結轉到新的設計,結果將是一個新的設計到老設計完全相同。 如果是這樣,為什麼在第一次的地方重新它設計?

古老的功能和新的之間的衝突可以是直接的。 舊功能 X 可以是與 Y 的新功能的直接衝突。 如果您選擇保留 X,那麼你不能有效地做 Y,反之亦然。 例如,X 功能可能變得不可行一旦記錄計數超過幾個 10 萬。 或者,功能可能會失敗,使之成為一個新的版本,不是因為它失去了功能對抗另一種功能,但因為是不創建新版本的人是即使知道舊功能放在第一位。

在許多情況下,舊功能將丟失很勉強地。 "是的我們真的很希望我們能過添加功能 X,和真的很痛苦,是決定走出來,"團隊說。 "我們希望能夠偷偷放在但添加該功能) 的估計的費用來到 10 天左右,和我們只是還沒有很多時間在我們的日程。 抱歉"。

如任何專案,與現實阻止你做的一切你想做。 工程的工作的一部分取捨之間的事情,你要做決定將實施哪些功能,以及哪些功能必須被拋在後面。

Raymond Chen

Raymond ChenWeb 網站,舊的新事物,和具有相同題為書 (艾迪生-衛斯理 2007年) 處理 Windows 歷史和 Win32 程式設計。 這裡提供的資訊僅用於提供資訊並不是作為替代專業法律意見。

相關的內容