老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

php中什么是重構

小編給大家分享一下php中什么是重構,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

從網站建設到定制行業解決方案,為提供成都網站設計、網站建設、外貿網站建設服務體系,各種行業企業客戶提供網站建設解決方案,助力業務快速發展。創新互聯將不斷加快創新步伐,提供優質的建站服務。

                                                          

好的開發者通常以代碼質量來定義。在軟件行業,寫好的代碼意味著在在測試,更新,擴展或者修復漏洞中省錢。本文,我將向你展示一些現實生活中技巧和想法的例子,來幫助你清理你的邏輯代碼,重構它,讓它變得更健壯和模塊化。這些技巧將不僅僅幫助你重構你的舊代碼,而且給你一些如何從現在開始寫出簡潔代碼的好建議。

什么是重構,為什么我們需要它?

重構是指幫助我們寫簡潔代碼的方法和步驟。這對其他可能閱讀,擴展和不需要怎么編輯來復用我們代碼的其他開發者來說是很重要的。

下面的內容將向你展示一些重構邏輯代碼,讓它變得更好的例子。

不要在沒有單元測試的情況下重構生產環境的代碼

我的第一條建議是從不在沒有完全進行單元測試的情況下開始重構邏輯代碼。我的理由是:你將會以很難有修復的損壞的功能收尾,因為你也很難指出是哪里損壞了。因此,如果你要重構它,從測試開始。保證你準備重構的部分被測試覆蓋到。PHPUnit 代碼覆蓋分析.

從你代碼最底層開始重構

看一下下面的圖片。這是一個我從 Github 找到的真實的酒店管理系統項目。這是一個開源的項目,可想閉源項目將是糟糕的。

php中什么是重構

示例:從底層開始重構

你看這個代碼,這里用紅色標出了三個層級。最底層應該是在第一個 if 條件下被 if/else 包圍的申明。通常,最底層是集中在單一邏輯處理,比較容易重構。

讓你的方法更短,分解它們到更小的方法或者配置文件/DB 表

也許在這里,我們可以向下面一樣提煉它到一個私有方法:

php中什么是重構

使你的方法更短

下一個深入點將是上傳參數和加載視圖。現在,再來看看在重構其他部分之后的 add() 方法。它變得更加簡潔,易讀,易于測試。

php中什么是重構

示例:首先重構最底層

if 申明堅持使用大括號

大多數編程語言都支持單行 if 申明,因為這樣比較簡單,所以一些開發就這么使用,但是這樣不便于閱讀,而且容易造成問題,因為一個空行就可以中斷條件造成崩潰。看下下面兩個示例的不同:

php中什么是重構

示例: 使用大括號

別使用魔術數字或者魔術字符串:

下個示例中,你注意到如果房間超過 250 ,會返回一個錯誤信息。這里,250 就被認為是一個魔術數字。如果你不是寫這個的開發者,很難指出這個數字表示什么。

php中什么是重構

示例:魔術數字

為了重構這個方法,我們可以指出 250 表示最大的房間數。為了替換硬編碼,我們可以提取它到一個變量 $maxAvailableRooms 。現在對其他開發者來說,它變得更易被理解。

php中什么是重構

示例:修復魔術數字

不要使用 else 申明,如果你不是真的需要:

在相同的 availablerooms() 函數中,你注意到那個 if 申明, 其中我們可以很容易擺脫 else 部分,而且邏輯保持一致。

php中什么是重構

示例:忽略 else 申明

使用能夠表示你的方法,變量和測試的命名

在后面的示例中,你會發現酒店管理系統有兩個方法分別是“ index() ”和“ room_m() ”。 對我來說,我搞不清它們的目的是什么。我認為它應該很容易被理解,如果它們的命名都能夠描述自己。

php中什么是重構

示例:不好的方法命名

充分利用你的編程語言的功能

許多開發者不會利用到他們使用的編程語言的全部功能。很多功能能夠節約你們的的時間,而且能夠讓你們的代碼更健壯。看下下面的示例,注意如何在更少代碼情況下更容易達到相同的結果的,通過使用類型提示。

php中什么是重構

php中什么是重構

最后,我想提供一些關于更好編碼的快速提示:

  • 使用新的數組形式 [ ] 替代舊的 array()。
  • 除非不檢查數據類型很重要,否則使用 === 操作符替代 ==。
  • 給公共方法提供簡短的描述性名稱總是一個好主意。私有方法可以使用更長的名稱,因為它們的適用范圍比較有限。
  • 僅對實現接口的方法使用通用名稱例如 add(),并對單個類方法使用描述性名稱例如 addUser() 或 addDocument()。
  • 從類中刪除未使用的方法。
  • 對返回值為 boolean 等的函數使用 is/has 前綴:isAdmin($user),hasPermission($user)。
  • 始終在類方法和屬性中使用訪問修飾符。
  • 注意接口污染:僅使用用戶可以公開使用的方法。
  • 在公共方法位于頂部的位置組織類方法。
  • 始終在類中應用單一職責的概念。

看完了這篇文章,相信你對php中什么是重構有了一定的了解,想了解更多相關知識,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!


網站名稱:php中什么是重構
瀏覽路徑:http://www.xueling.net.cn/article/jpsjgd.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 精品欧洲av无码一区二区14 | 91人人视频在线观看 | 免费一区二区在线观看 | 成人乱码一区二区三区不卡视频 | 国产一卡二卡三卡四卡网站 | 久久精品国产免费观看三人同眠 | 极品美女销魂一区二区三区免费 | jizzjizz丝袜老师 | 中文字幕一区在线观看 | 福利免费观看体检区 | 搞逼视频免费 | 亚洲熟妇无码久久精品 | 国产玖玖 | 夜夜躁日日躁 | 亚洲欧洲日韩一区 | 中文字幕无码不卡免费视频 | 国产日韩欧美色 | 天天操夜夜操国产精品 | 插曲视频免费高清观看 | 91精品视频导航 | 四虎在线永久免费观看 | 亚洲色大成网站www久久 | 欧美中文字幕一区 | 精品一区二区网站 | 日本道中文字幕 | 亚洲精品无码一区二区卧室 | 国产美女无遮挡裸色视频 | 特大巨人黑人AAA片BBC | www.47久久青青 | 亚洲日韩爆乳中文字幕欧美 | 中文字幕免费专区 | 国产精品丝袜久久久久久久不卡 | 48国产吹潮在线观看 | 亚洲射色精品大地资源 | 日韩激情无码激情A片免费软件 | 中文字幕免费视频观看 | 亚洲人和日本人jzz视频 | 欧美日韩国产超高清免费看片 | 国产精选在线观看播放 | 中文字幕免费在线观看视频 | 亚洲一区国产 |