向下兼容真的是破壞程序、API「美感」的元兇嗎?


向下兼容有三種做法,第一種是不需要人們在使用新功能的時候修改代碼的,譬如說普通的Windows API。第二種是需要人們在使用新功能的時候修改代碼的,譬如說DirectX。第三種介於他們之間,僅在同一個流程里需要使用新功能的時候修改這局部的代碼,譬如Windows的locale api。


為什麼api會變化?這都源自於需求的變化。一開始的變化可能只是添加一些新功能(譬如DX8到DX9)。當你的需求的變化大到連抽象的概念都要一起變的時候(譬如DX9到DX10),你就必須大刀闊斧的改了。因此這個時候,保持API美感的最好的方法就是——做個全新的介面,然後不要刪掉舊的,對舊的除了修bug什麼也不要做。


因此向下兼容並不一定會破壞美感。只要你從一開始的設計針對當時的需求就是完美地,那添加一些小需求也是不會破壞美感的。當概念發生了重大變化,介面就必須全部翻新,只要不阻止人們繼續用舊的就好了,這是他們的自由。破壞美感的是一味的追求【完美的向下兼容】,或者更傻逼的【向上兼容】。


publish了向下不兼容的人就像搞大了肚子不撫養一樣。
你要遇到v8 api介面變了不兼容,python3不兼容2給你生活帶來的不快,你保證滿嘴f*k。哦對了,這就是開源軟體好處,我又沒收你錢,我想改就改,哈哈


推薦閱讀:

如何用互聯網思維設計一個最酷的公用垃圾桶?
2014 年有哪些產品設計文章值得閱讀?
如果你是 Instagram 的產品經理,你會如何改進它的瀏覽發現?
交互設計原則有哪些?
最常被濫用或誤用的交互設計原理有哪些?

TAG:產品設計 | 軟體 | 程序員 | API | 編程 |