iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 7
2
Mobile Development

如何用 Laravel 撰寫難以維護的專案系列 第 7

[Day 7] 談 Laravel Route 的設計!如何設計難以維護的 route

專案建立好了,再來就是設計 route,讓使用者可以進來了。

下面我們介紹怎麼設計出難以維護的 route

RESTful-ish

API 路徑大致上符合 RESTFul 規範,但是在特定幾個地方不遵守。例如說:

  • 某些路徑的 GET 不僅僅取出資源,順便寫入某些相關資源
  • 某些路徑的 POST 不僅建立一個資源,可以同時建立多個資源,順便修改一些
  • 有的資源用 PUT/PATCH 修改,有的用 POST 修改
  • 有的資源用 GET 取出,有的用 POST 取出

這樣可以保證之後維護的工程師,要找對應資料的路徑與動作時,可能需要花上幾天的時間,才能釐清對應的位置和 action。

當有人拿出 RESTFul 規範來討論路徑設計時,提出「這是為了因應商務需求」或者「這是為了程式效率」。

不要區分檔案

即便你的網站有一萬多張網頁,也不要把 web.php 分成不同檔案。

一個超過數萬行的檔案在追蹤時饒富趣味,能保證其他接手的維護工程師要修正問題時,光是要找對應的路徑,都會花上好幾個小時的時間。

隨意區分檔案

如果有人要求要將 route 區分檔案,那就任意的區分檔案。

將同一商務邏輯的路徑放在不同的 route 檔案裡面,這樣一來,要確認路徑是否存在會變得非常麻煩,讓維護工程更加痛苦。

如果開始有人抱怨,提出不要區分檔案的做法。

不將 route 取名

route 取不取名,對外部使用者和開發當下幾乎沒有影響。不過如果你的程式裡面有用到路徑 URL,然後之後又修改 URL 時,就會有影響了。

幸運的是,這通常會出現在寫了自動測試的情景裡面,只要不寫自動測試,就可以暫時避免問題,又提高程式維護的風險,可以說是一石二鳥。


上一篇
[Day 6] 怎麼讓剛建立的專案難以維護
下一篇
[Day 8] 怎麼撰寫難以維護的 Middleware
系列文
如何用 Laravel 撰寫難以維護的專案30

尚未有邦友留言

立即登入留言