為你身後的同事寫代碼

來源:互聯網
上載者:User

為你身後的同事寫代。傳說這句話是從惠普出來的,曾經很有名。當敏捷開發出來之後,被指太重量級,和敏捷的思想相違背,被很多人批評了一頓。敏捷提倡需要時,再去實現。而為你身後的同事寫代碼,要求你再寫代碼時要為你的同事著想,就是為使用代碼的人著想,怎麼能讓他使用方便。雖然我是一個敏捷擁護者和實踐者,但我還是認為為身後的同事寫代碼很有用,甚至這句話的思想和敏捷開發並不矛盾。

最好的軟體代碼是什麼樣的代碼?

易擴充。當使用者提出新的功能時,能夠很快的在保證系統品質的情況下,把新的功能添加到系統中。

易修改。容易修改,就要要求減少重複代碼,代碼易讀,整個系統的代碼風格一致,架構一致,命名一致,注釋得當等等。

還有系統架構分明,各個層次各負其職、沒有使用不必要過於複雜的技術,沒有使用不穩定的第三方庫等等。

怎麼能讓系統代碼達到以上標準,那就是好代碼,不管寫這些代碼時的指導思想是什麼。

在軟體開發時,常常遇到的問題就是使用者需求不明確,需求在不斷的變化,商務邏輯複雜。這些問題基本上每個軟體項目都會碰到。既要讓軟體能夠快速穩定的運行,又要保持系統的高擴充和可修改性,確實為系統設計和代碼編寫提出了很大的挑戰。

我們在軟體開發中最常見的開發模式都是每個人負責一個模組,從頭到尾,從最上層,到最下層。很少有橫向分開的。當然這種模式也有很大的好處,而且這種也是在當前很多情況下比較適合的。但這中模式代碼的一個問題就是和別人寫的代碼交集很少。一般自己寫的上層代碼去調用自己寫的下層代碼,這時,每個人都會陷入自己為自己寫代碼的境地。現在就是上層需要什麼要的代碼,下面就要去實現。這種情況很常見,而且很多時候,我們都是採用這個方式。但這有個缺點,我們有時候比較懶,上層調用下層代碼比較麻煩,反正自己調自己的,這些代碼放什麼地方都可以。這樣就導致了代碼混亂,層次不清,調用複雜,甚至連物件導向最基本的封裝性都保證不了。

如果我們為身後同事寫代碼呢?那我們會注意到,我們需要該封裝的地方自己一定要封好,你不可能讓上層的開發人員為你的懶去寫代碼,這樣會遭人鄙視的。不該自己寫代碼,自己肯定不會寫,那時損人也不利己的事。還有一點,就想讓自己寫的代碼,在別人用時特別好用,簡單,一目瞭然,自己也有成就感。對了,現在我們已經談到了物件導向的本質了,封裝。你不用瞭解裡面怎麼實現的,你只需要知道它怎麼用的就可以了。

所以,敏捷開發和這句話有矛盾嗎?我覺得好像一點矛盾也沒有。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.