寫在前面
在編寫 ASP.NET Core 項目時,深感項目設計的無力感,在軟件設計方面我還有很長的路要走。我一直以來都把代碼當作一種藝術的存在,認為自己是個“藝術家”,其實就是個“三腳貓”。軟件開發方式不精,設計模式半生不熟,自以為懂得很多,其實狗屁不是,實在不好意思說我學過軟件工程,因此我打算靜下心來從頭開始學習。微軟的 ASP.NET Core 文檔給了一些很好的參考資料,我打算把他們都整理翻譯出來,就先從軟件開發方式開始,開發方式算是軟件誕生的儲備知識吧。而在敏捷開發中,極限編程算是小團隊開發方式中比較有名的。
在翻譯中帶着學習開發方法和專業詞匯的目的,使得整個過程並不枯燥,反倒有些許樂趣。翻譯中最困難的其實不是詞匯障礙,因為這種國外的入門文章也都是給國外菜鳥看的,反倒是如何把文章翻譯的不生硬倒讓我很頭疼,畢竟不是專業的,有些就是英語一看就是那個意思,翻譯成漢語就很別扭。還有部分文章給了名人名言,這才是最難的,讀起來像石頭一樣硬的名句,不用想了,我翻譯的,那種非常優美的,也別想了,能百度到的。如果你有什么建議的話,請留言告訴我。
極限編程系列翻譯的部分不會按順序發布,等全部翻譯完了弄個目錄就行了。
原文:https://deviq.com/simplicity
- 極限編程核心價值:簡單(Simplicity)
- 極限編程核心價值:溝通(Communication)
- 極限編程核心價值:反饋(Feedback)
- 極限編程核心價值:尊重(Respect)
- 極限編程核心價值:勇氣(Courage)
簡單(Simplicity)
簡單(Simplicity)是極限編程(Extreme Programming,XP)的核心價值之一。它為許多極限編程,敏捷(Agile)開發的原則和實踐提供了指導和基礎。
我們會做需要和要求的事情,但不會更多。這將最大化迄今為止所做的投資創造的價值。我們將采取簡單的步驟來實現我們的目標,並減輕失敗的發生。我們將創造我們引以為傲的東西,並長期保持合理的成本。
We will do what is needed and asked for, but no more. This will maximize the value created for the investment made to date. We will take small simple steps to our goal and mitigate failures as they happen. We will create something we are proud of and maintain it long term for reasonable costs.
第一個精益原則(Lean Principles)是消除浪費(Eliminate Waste)。在軟件開發中,浪費的一個來源是不必要的代碼或功能。通過在軟件中保持簡單(Simplicity),我們減少了我們需要去設計、編碼、測試和維護中的非核心代碼和功能的數量。我們應該努力確保我們的代碼遵循簡單的設計原則,以便將來易於更新。
語錄
-
“簡單是復雜的最高境界。” —— 達·芬奇
“Simplicity is the ultimate sophistication.” – Leonardo da Vinci
-
“任何事情都應該盡可能做到簡單,但不要過於簡單。” —— 阿爾伯特·愛因斯坦
“Everything should be made as simple as possible, but not simpler.” – Albert Einstein
-
“無論是性格、方式還是作風,事實上對於所有事物而言,簡單是最為可貴的。” —— 亨利·沃茲沃斯·朗費羅
“In character, in manner, in style, in all things, the supreme excellence is simplicity.” – Henry Wadsworth Longfellow
-
“這一直是我的一個座右銘 —— 集中和簡單。簡單,可以比實現復雜的東西更難。你必須花很多力氣去讓你的思維變得簡單、有條理。但最終它的價值非常大,因為一旦你到達了那一步,你就可以撼動山脈了。” —— 史蒂夫·喬布斯
“That’s been one of my mantras — focus and simplicity. Simple can be harder than complex: You have to work hard to get your thinking clean to make it simple. But it’s worth it in the end because once you get there, you can move mountains.” – Steve Jobs
-
“完美境地,非冗雜,而不遺。” —— 安東尼·德·聖-埃克蘇佩里
“Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.” – Antoine de Saint-Exupéry
-
“傻瓜忽視復雜性;實用主義者忍受它;專家回避它;天才去除它。” —— 艾倫·佩利
“Fools ignore complexity; pragmatists suffer it; experts avoid it; geniuses remove it.” – Alan Perlis
-
“簡單並不先於復雜性,而是跟隨它。” —— 艾倫·佩利
“Simplicity does not precede complexity, but follows it.” – Alan Perlis