如何寫結構優美的代碼

來源:互聯網
上載者:User

 

結構優美的代碼,是每個程式員的追求。可能這個沒有嚴格的標準,但是有些原則會有助編寫結構優美的代碼。

 

1.對代碼的邏輯層次要有感覺。

比如大體上,一個程式會分三個層次:介面層,邏輯層,資料層。簡化後一般也有兩個層次:介面和邏輯層。

邏輯層是去掉外表的,內在的,實質的東西。一般來說,就是表現為對資料的一組操作。

而介面層,是關注程式應該如何和使用者溝通的。比如可視的視窗,圖表,控制項等。它是內部邏輯的呈現,也是使用者和內部邏輯溝通的橋樑。

區分這兩個層次的好處,一個是這兩個層次所注重的核心內容有所不同,用到的技巧或者指導方法有所差別。第二點是,可以將問題解構和局部化,減輕開發難度。第三點,有助分開來修改內容,比如介面層挪動一下,改變一下形式,並不需要修改邏輯層的;而邏輯層改進一下演算法,也不會影響介面層的代碼。

 

對代碼的邏輯層次有感覺,以上的要求只是很基本的,編寫代碼要時時刻刻對當前代碼所代表的邏輯層次要有“感覺”,要能意識到這段代碼和上一段代碼是否在某種標準下,處在同一個層次。比較經典的範例如:互連網的7層協議,還有作業系統的層次分部等。編寫代碼要善于歸納這些層次,才能建構一個優美的結構。

 

2.善於抽取演算法代碼

一般編寫代碼,會有兩種明顯的不同的思維形式,一種是圍繞業務內容的,一種是脫離業務內容,獨立存在的,一般表現為演算法內容。 在實際開發中,一般很少會用到(正式的)演算法,但是總是會有一些地方會用到演算法。當演算法和商務邏輯糾結在一起的時候,會導致商務邏輯不清晰,因為演算法大多數情況往往都是難以閱讀理解的數學公式。將演算法抽取出來,無疑有助商務邏輯的清晰化,同時抽取的演算法代碼,又能成為你的代碼積累,就算換了新的業務也能派上用場,何樂而不為。

3.提取工具代碼

日常開發中,工具代碼比重不少。何為工具代碼,非軟體邏輯核心的,卻有助於軟體開發過程實施的代碼。工具代碼大部分由架構和第三方程式庫提供,但也往往需要開發針對性的部分,這一部分將成為代碼積累的重要組成部分。

4.抽象技巧

抽象是重要的技巧,一般來說越高的抽象,能適用的問題就越廣,也就越有(潛在的)使用價值。一般應該盡量使用高抽象的代碼來編程,少使用具體的代碼來編碼。但是抽象和具體總要在某個點上縫合起來,這個點的選擇應該三思。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.