- 相關推薦
怎么使php語言變得簡潔
php語言一直以簡單易用著稱,那么怎么使php語言變得簡潔呢?下面是小編精心整理的怎么使php語言變得簡潔,歡迎閱讀,希望大家能夠喜歡。
怎么使php語言變得簡潔
1. 統一的編碼規范
編碼規范往簡單說其實就是三個方面:
換行
空格
變量命名
放在 PHP 里面,還有一些附加的地方,比如關鍵字大小寫,語法糖的使用(array() 與 [] 等)的問題。之前整理過 PSR 的標準,也找過 php-cs-fixer 這樣的工具。這些都是規范代碼的重要手段。有統一的標準,配合上工具的檢查,形成統一的編碼約束不是什么難題。
沒有規范,不同的人甚至同一個人在空格、換行和命名上都有可能是十分隨意的。代碼一長,回使整個文件看起來無比雜亂。
典型的例子比如:if 和 else 的組合,可以寫出無數種風格,比如:
這里并不探討各種寫法的優缺點,只是風格需要保持統一,不要混用。
2. 良好的編碼習慣
如果你仔細看過 PSR 的標準,可能也會注意到某些地方其實是標準無法涉及到的。比如一個超長的表達式在什么時候換行,如何縮進等。
這里涉及到的就是編碼習慣的約束問題。
比如方法的鏈式的調用的問題,比如某些數據庫查詢的封裝:
3. 尋找最優的寫法
寫代碼的過程中,最優的寫法和編碼習慣又不是同一件事情。這里要說的指的是如何遵循 PHP 的語言特性或者框架的特征,充分發揮語言和框架的能力來減少冗余。
比如在獲取前端傳入的參數的時候,很多時候能見到這樣的代碼:
$param = isset($_POST[param]) ? $_POST[param] : ;
更有甚者一些框架將前端傳入的參數封裝了一層,比如 $this->request->data[param],如果再去用 isset 或者 array_key_exists 判斷,整個獲取參數的語句就會變得很長。
某些情況下使用三元運算符的時候需要注意 ?: 是可以合并使用的。
其實我們應該去嘗試封裝這種寫法,防止同樣的變量出現在一個語句中多次的情況。對于默認值的賦予,可以調研框架是否有封裝提供,或者通過強制類型轉換的方式進行。
還有一種情況是條件和循環嵌套的時候。比如從數組里抽取某一個字段,或者對某一個字段的值進行處理的時候,善用 array_map 以及引用(&)往往能節省不少工作量。但是使用的時候也要注意數組指針最后的位置。
在根據條件返回結果時,需要善用 return。還有就是合理的抽象與封裝。
4. review 自己的代碼
除了以上提到的在日常開發中需要注意的一些問題。還有就是事后的工作。
我相信很多人在看自己以前的代碼的時候都有一種其實有更好的寫法的感覺。隨著時間的推移自己總會有更豐富的閱歷,更多的想法。偶爾 review 自己的代碼也是對過去的總結,也許會有新的感知。
5. 推廣給你的隊友
團隊項目中,隊友的配合對整個代碼的規范起著決定性的作用。一個團隊中有一個人不遵守規范,而又要到處修改代碼的時候,很快就能破壞到所有的約束。
有統一的標準,有良好的執行力才能完成這件工作。
令PHP語言更加簡潔的編碼小技巧
數組轉化
我們常常需要在一個函數里面接受一個支持字符串或者數組類型數據的參數。可以使用適當的類型轉化方式將字符串類型轉化成數組類型,來取代類型檢測。
當然這看起來沒什么區別,只是節省了一行代碼而已。但是你可以設想一下,當你使用復雜的循環結構或者嵌套數組處理大量數據時。這樣做將會有意義,它能使代碼保持簡潔。
類型檢查
類型檢查也是一項讓代碼更簡潔的技巧。一個小的類型檢查可以節省幾行代碼,有些時候,還可以為你的參數提供更多的靈活性。
在這個例子里,我們可以在一行里面檢查參數類型,所以我們不需要處處都寫 if-else 語句。這里的參數有多種可能,可以是一個 Team 實例,也可以是一個整數。
重構長 If 語句
有時候,在執行動作之前我們需要做一些條件檢查。但是,隨著我們的應用的持續增長,if 語句會變得越來越長。所以,我們需要考慮重構。一個小例子:
注意,第一個例子運行方式與第二個有一些不同。第一個例子中,只要有一個條件為真,則后面的條件就會被忽略,在一些情況下,它會更快。謝謝 Zois Pag 的建議。
這兩個例子的結果是一樣的,但是第二個更整潔。我們可以不再使用 || 操作符,并且只引用了 $a 變量一次。
去掉不必要的 if 語句
一個普遍的錯誤,我們會經常性的過度使用 if-else 語句。當然,有些時候它是不可省略的,但也有些情況,我們不需要用到它。
但是邏輯顛倒了怎么辦? 那么, 如果條件是true我們又想返回 false 該怎么辦? 當然,在 if 語句中,我們僅需要相反的 true 和 false ,但是在重構的版本中,我們會有一個相對輕松的工作。只需要在你驗真假的時候加上 ! 運算符。它將返回顛倒后的結果。
總結
每天我們都能發現一些充滿了過度復雜邏輯的方案和代碼,長期來看,這對開發者和產品本身都不好。上文中,我們只是嘗試搜集了一些例子,在這些例子里,你只需做出一點小的努力,就可以讓你的代碼變得更好更簡潔。
【怎么使php語言變得簡潔】相關文章:
php語言04-07
php語言現在學習怎么樣08-09
Php語言的發展前景怎么樣02-01
php語言發展前景怎么樣03-01
php語言編程07-06
php語言簡介04-28
什么是php語言12-01
php語言的優勢03-03
PHP語言的簡介05-02
PHP語言介紹05-22