提高可讀性,3 個讓代碼更簡潔的小技巧

2021-01-08 開源中國

在完成代碼重構之後,我總是會獲得一種莫名的成就感。其實,不僅是大規模的代碼重構能給我帶來這種感覺,一些小的修改也能讓我感到很高興。以下3個簡單的重構技巧就能幫你改善代碼的可讀性。

1. 清理格式

代碼的整體格式最能影響代碼的可讀性,讓你迅速找到需要的代碼。正確的縮進、分行和模式能幫助開發者省去大量的無用代碼。你可以看看下面兩種格式的比較。先看第一個格式:

 Inventory inventory = new Inventory();for (int i = 0; i < cars.Count; i++){    inventory.Cars.Add(cars[i]);        var owner = owners.Where(x => x.VIN == cars[i].VIN).OrderByDescending(x => x.PurchaseDate).FirstOrDefault();inventory.PreviousOwners.Add(new Owner { VIN = cars[i].VIN,                                        Name = owner.Name});}

再和下面這種格式比較一下:

Inventory inventory = new Inventory();for (int i = 0; i < cars.Count; i++){    inventory.Cars.Add(cars[i]);        var owner = owners.Where(x => x.VIN == cars[i].VIN)                        .OrderByDescending(x => x.PurchaseDate)                        .FirstOrDefault();    inventory.PreviousOwners.Add(new Owner                                     {                                        VIN = cars[i].VIN,                                        Name = owner.Name                                     });}

第二種格式使用了正確的縮進、分行和模式,提高了代碼的可讀性。

書籍有章節、標題和正文,這種格式讓我們可以快速找到需要的內容。代碼其實也一樣,好的格式可以提高可讀性。

2.對類、方法和變量進行重命名

類、方法和變量的命名,應該可以幫助開發者更好的了解代碼作用。對象的範圍越短,其名字也可以更短一些。

在編寫項目的第一稿時,我們總是喜歡使用一些信息量不足的名稱,但是這樣的命名方式在後期並不是最好的選擇。

請看下面的代碼:

 public IEnumerable<string> GetData(int year){    var result = CallApi("/Cars", year);    IEnumerable<string> output = new IEnumerable<string>();    foreach(var c in result)    {        output.Add(c.Make);    }}

對比:

 public IEnumerable<string> RetrieveCarMakes(int year){    var inventory = CallApi("/Cars", year);    IEnumerable<string> carMakes = new IEnumerable<string>();        foreach(var car in inventory)    {        carMakes.Add(car.Make);    }}

使用有實際意義的名稱,能讓其他人以及你自己更好的理解代碼的作用。

3. 拆分較長的表達式

在寫代碼的時候,一些人很容易為了追求速度使用連鎖命令,或是使用單行句法。很多時候,我在回看之前寫的代碼的時候,我就會發現很多這樣的長表達式。看看下面兩段代碼的區別:

 bool hasHighSaleProbability = (daysOnLot < 60) ? true : (color == "Red" ? true : false);var highSaleProbabilityVehicles = Inventory.Where(x => x.DaysOnLot < 60 or x.Color == "Red").Select(x => new { Make = x.Make, Model = x.Model, Year = x.Year }).Distinct().Select(x => new RecentInventoryView { YearDropdown = new SelectListItem { Text = x.Year, Value = x.Year }, MakeModelDropdown = new SelectListItem { Text = x.Make + " " + x.Model, Value = x.Make + " " + x.Model } });

拆分後:

bool hasHighSaleProbability = false;if (daysOnLot < 60 || color == "Red"){    hasHighSaleProbability = true;}var distinctMakesModelsYears = Inventory   .Where(x => x.DaysOnLot < 60 or x.Color == "Red")   .Select(x => new   {    Make = x.Make,    Model = x.Model,    Year = x.Year   })   .Distinct()   .ToList();var recentInventoryView = distinctMakesModelsYears    .Select(x => new RecentInventoryView    {     YearDropdown = new SelectListItem     {      Text = x.Year,      Value = x.Year     },     MakeModelDropdown = new SelectListItem     {      Text = x.Make + " " + x.Model,      Value = x.Make + " " + x.Model     }    });

雖然第一段代碼更短,行數也更少,但是其可讀性非常差。而第二段代碼由於拆分了if邏輯,並且將所有連鎖方法也進行了拆分,結果就是讓其變得更好理解。

原文:3 Insanely Easy Changes You Can Make To Clean Up Your Code
譯文:SDK.cn 編譯:魯行雲

相關焦點

  • 這三個技巧,讓你的代碼可讀性提高300%
    本文不是在討論算法、數據結構、軟體架構和程序設計,而是在討論一些更基本、更重要的東西:可讀性。原始碼是程式設計師耗盡了心血和精力的作品,所以不應當存在「快刀斬亂麻」的現象。忽視這些規定看似讓代碼生成速度加快,但事實上往往導致事倍功半。代碼敲一次,閱讀無數次。因此,優化代碼提高可讀性顯得尤為重要。為了幫助生成高度可讀的代碼,本文歸納總結了必須遵守的3個重要規定。
  • 編寫更簡潔的Python代碼的5個技巧
    但是,遲早您會發現某些解決方案比其他解決方案更簡潔。 更重要的是,從長遠來看,更簡潔的代碼往往更易於閱讀和維護。當然,有很多方法可以用Python編寫簡潔的代碼。 在本文中,我想分享五個技巧,這些技巧在日常Python項目中特別有用。 為了說明為什麼這些技巧可以提供更簡潔的解決方案,在每個部分中,為了比較目的,我都會提供替代的,通常更長的解決方案。
  • 4個技巧,提高文章可讀性
    很多人寫完一篇文章,都覺得很費勁了,更別提去修改文章了。但是好的文章,是一遍遍改出來的,我們拿著自己寫的文章去投稿也好,發表在自己的自媒體平臺上也好,我們都需要把自己的稿子,修改到符合上稿或發表的標準。標準是什麼呢?
  • 快速提高代碼的可維護性與可讀性
    其實在程式設計師的生活中,去編寫一段可維護性強的代碼會讓他們在程式設計師之間得到更好的口碑。那麼該如何提高代碼的可維護性與可讀性呢?我會在文中進行一一解釋。檢查你的錯誤使用更少的代碼這是有道理的,你有更少的代碼,這樣也變相地提高了可維護性(誰會想維護一個用了幾百上千的ifelse語句的神仙代碼)。它擺脫了未經修改的功能和診斷語句將使您的代碼看起來更簡潔。
  • 提高代碼可讀性的十大注釋技巧分享
    【IT168 技術】很多程式設計師在寫代碼的時候往往都不注意代碼的可讀性,讓別人在閱讀代碼時花費更多的時間。其實,只要程式設計師在寫代碼的時候,注意為代碼加注釋,並以合理的格式為代碼加注釋,這樣就方便別人查看代碼,也方便自己以後查看了。下面分享十個加注釋的技巧:  1.
  • 如何提高代碼可讀性,再教你一招
    如何提高代碼可讀性,再教你一招Hello,各位小夥伴,在前面的幾個章節中,我們重點講解了編程規範,其中對PEP8和Google編程規範進行了解讀,其中對代碼的縮進、行數、命名、注釋等都有明確的規範,似乎我們按照這樣的編程規範進行規範性寫代碼就可以了。
  • 你的代碼「balance」怎麼樣?找到簡潔性和可讀性的平衡點
    事實上,還有更便捷的解決方案。代碼越簡潔,可讀性越高且能夠長期存在。用Python編寫簡潔代碼的方法有很多,本文想與大家分享筆者在日常Python項目中發現的特別有用的五個技巧。1.列表、字典和集合推導式列表推導式是眾多Python程式設計師最喜歡的特徵之一。這是一種從迭代器創建列表的簡潔方法。
  • SEO技巧:提高內容可讀性來促進客戶轉化
    許多企業在努力提高網站的可讀性。您的訪客希望快速方便地找到所需信息,而無需滾動瀏覽。你是怎樣做的?在本文中,我們將探討內容可讀性的主題,並為您提供一些簡單的技巧,以提高網站的可讀性,從而提升轉化率。隨著技術的發展,單擊按鈕即可隨時獲得世界範圍的知識。流視頻和音頻的流行意味著您可以根據需要從一件事切換到另一件事。這對企業及其網站意味著什麼?
  • 提高網站文章的可讀性有什麼技巧
    為了給人留下好的印象,一個網站的內容要看起來簡潔,容易瀏覽,並且以一種容易閱讀的方式呈現內容。企業為什麼做SEO優化,SEO優化有多重要?如果該網站提供了良好的用戶體驗,訪問者將閱讀該網站的內容,並且社交網絡上分享,那麼這個訪客就會給我們的網站帶來更多的訪客。1、關注新的內容一個網站的目標受眾將繼續被它所吸引。
  • 12個Python小竅門,迅速提高代碼質量
    這12個小技巧能幫助你提高代碼質量。1. F-StringsF-Strings提供了一種簡便的方法,可以將Python表達式嵌入字符串文本中進行格式化。首先,定義print語句中的會用到的兩個變量:name和age。
  • 保持代碼工整的 7 個小技巧
    本文代碼示例均使用 JavaScript。我發現但凡是可讀的代碼必定是可維護的。作為一名開發人員,我的目標是編寫高質量的代碼。團隊中的每個開發人員,不管他/她的技術水平如何,都必須能夠通過閱讀理解我所寫的代碼。代碼的可讀性有助於年輕的開發人員編寫代碼時更加自信。
  • 如何編寫可讀性代碼
    作者:極鏈科技 湯紅燕什麼叫可讀性代碼?簡單來說,就是易於理解、耗腦時間少、可維護性較高的代碼。編寫可讀性代碼把信息裝到名字裡(一個好的名字可以承載很多信息)1. 選擇專業的詞(避免「空洞」)比如函數 getUserInfo( ) 是用來獲取用戶信息,但是,是從接口中獲取的信息呢?
  • 讓你python代碼更快的3個小技巧
    今天呢,我們來聊一聊如何加速你的 python 代碼。Python 語言的優點可以列舉出許多,語法簡單易懂、模塊豐富、應用廣泛等等。但是世界上沒有有完美的東西,python 一個明顯缺點就是運行速度慢,至少跟 C 語言沒法比。所以,不安於現狀的 Pythoner 就開發了許多工具。
  • 數據可視化:提高表格可讀性的一些技巧
    表格的要素研究如何提高表格可讀性之前,我們先簡要闡述下表格的組成要素,這裡我們暫且這麼總結:表格 = 標題 + 表頭 + 行標籤 + 單元格數據(信息),如下圖  提高表格可讀性的一些技巧 1. 根據表格的用途,設計表格的布局如下圖,兩張表格中所包含的數據完全相同,是關於10座山峰的高度和人類登頂年份數據。
  • 代碼整潔小技巧:15個簡單的JS編碼標準
    Fail: var myVar = 10;複製代碼Pass: let myVar = 10;複製代碼在學習web前端的過程中,難免會遇到很多的問題,這些問題可能會困擾你許久,為此我有個web開發學習交流群( 545667817
  • 如何提高代碼質量
    但我覺得,代碼質量總結起來就兩個:好看和好用。好看是指代碼可讀性好,容易理解、容易維護,別人接手了不罵你;好用則指代碼健壯,不容易出錯,機器跑著不罵你。即使出錯,也容易定位,容易止損和恢復。前面小編也發布幾篇優質的代碼規範文章: 為何需要提高代碼質量?
  • 關於如何編寫 Clean Code 的 6 個簡單技巧
    編寫簡潔代碼(Clean Code)不是一件非常容易的事情,為了保持代碼整潔,你需要嘗試不同的技巧和做法。問題是,在這個問題上,有太多的做法和技巧,是需要大量的重構的。因此,開發者很難選擇出適合自己項目的做法和技巧。
  • 4個Python初學者必學的Numpy小技巧
    圖源:UnsplashPython初學者除了要掌握基礎知識外,了解一些小技巧、小竅門也是學習路上必不可少的一種催化劑,能幫助你更好的學習。Numpy數組比Python列表更緊湊。該庫還方便地以非常高效的計算方式實現了許多常見的矩陣運算。下面小芯就基於實踐整理出了Python初學者應該學習的4個numpy技巧,它們能夠幫助你編寫更簡潔易讀的代碼。在學習numpy技巧之前,請確保已熟悉以下文章中的一些Python內置功能。
  • 設計師詳細分析 San Francisco 字體:簡潔,可讀性好
    當蘋果發布 Apple Watch 時,公司為這款屏幕很小的設備專門設計了一種新字體:San Francisco。
  • 程式設計師如何寫出優質乾淨的代碼?這6個技巧了解一下
    作為一名開發者,編寫一手優質而乾淨的代碼很重要!但是,要想寫出乾淨的代碼並不是一件容易的事,需要嘗試不同的技巧和實踐。再者,編寫乾淨的代碼,也能夠讓新員工或團隊其他成員更容易、更快速的接手;而且,由於你寫出了乾淨的代碼,別人也會向你學習,也就更容易跟著寫出乾淨的代碼;那麼,自己接手別人代碼的時候,也會更加容易。