- 論壇徽章:
- 0
|
本帖最后由 duanjigang 于 2011-01-25 09:39 編輯
作為一篇參考文章,提醒我們在架構(gòu)設計或者選擇時應該注意哪些問題,或者是哪些事情是重要的。
原文:http://friendlydingo.com/blog/20 ... cks-and-i-dont-care
By Ryan, January 3, 2011
Oh, your app’s architecture is perfect? Well, that’s why you haven’t launched your app and you stay awake at night worrying about separation of responsibilities(instead of worrying about traffic and conversion rates).
Besides, who am I to say your architecture sucks? And why don’t I care? Because I am your users, and I don’t care what your codebase looks like, I don’t care what it’s called, and I don’t care what language it’s written in. I care that it solves my problem in the simplest and fastest way possible.
Your users don’t care about architecture, they only care if your app works.
I’ve fallen prey to this before. In my startup before I began Friendly Dingo, I was obsessed with architecture. I wanted my code to be the cleanest code anyone had ever seen, and I wanted every file, dll, and class to be follow every coding standard you’ve ever heard of. And it was, it was great. But my products came out slow, and I spent more time tweaking my code structure(that nobody else ever saw, btw) then I did responding to customer requests for features. The end result was mediocre product reviews and slow sales. But man, was my code beautiful.
This time around, I picked an architecture in the first week of development and I’ve stuck with it since then. As Friendly Dingo’s first product nears an initial release date, I feel confident that even though there are some things I don’t like about my code structure, I know that the features I’ve built are things that my USERS will actually want and care about. The architecture is sufficient for what it needs to do, and nothing more.
So next time you find yourself refactoring code, stop and ask yourself if it’s something your users will benefit from. Because in the end, that’s all that really matters.
oschina提供的中文翻譯
你的架構(gòu)很爛,但我并不在意
嗨,你的應用的架構(gòu)很完美嗎?對呀,這就是為什么你還沒有發(fā)布你的應用的原因,你仍然在徹夜不眠的擔憂著各個功能模塊之間的責任分離(你沒時間去關(guān)心應用的流量和訪問率)。
可是,除了我之外,誰還會對你說你的架構(gòu)很爛?為什么我要關(guān)心你的架構(gòu)?因為我只是你的用戶,我不關(guān)心你的程序長的什么樣、如何被調(diào)用的、用什么語言寫成的。我關(guān)心的是它能用最簡單的、最迅速的方式解決我的問題。
你的用戶并不關(guān)心架構(gòu)的問題,他們只關(guān)心你的應用是否好用。
我以前就是一個不理解這個道理的受害者。在 Friendly Dingo 之前的一個公司時,我癡迷于架構(gòu)。我希望我的代碼對于任何人來看都是最簡潔的,我希望每個文件、dll、類都滿足你們曾經(jīng)聽說過的任何編碼標準。而且我做 到了,很完美。但是我的產(chǎn)品卻延后了發(fā)布,因為我要花更多的時間整理程序架構(gòu)(順便提一下,沒有人知道我在做這個事情),然后我才處理客戶的增加功能的請 求。這最終的結(jié)果是一個中等產(chǎn)品評價和不好的銷售情況。但是朋友們,我的程序是完美的。
到如今,在開發(fā)的第一周,我先架構(gòu)選型,然后就搭建這個架構(gòu)。當產(chǎn)品的首次發(fā)布日期快要到時,我已經(jīng)很有信心,不再關(guān)心架構(gòu),盡管在某些方面還不盡如人意,因為我知道:程序的功能才是我做的所有工作中用戶真正想要和關(guān)心的。架構(gòu)能夠滿足應用的需要即可。
所以,下次當你發(fā)現(xiàn)自己在重構(gòu)代碼時,請停一停,問問自己你的用戶是否會因此受益?因為最終,這才是最重要的。 |
|