今天我們來談談從排版與程式撰寫的風格規範,怎麼讓專案難以維護。
在 PHP 的世界裡面,要討論程式風格的規範,不可避免的要談到 PSR。
PSR(PHP Standards Recommendations)是一個叫做 PHP-FIG 的集團所公佈的建議規範。裡面有包含許多不同情景的規範,例如說針對 HTTP Client 的規範(PSR 18)。
針對程式撰寫風格的規範,在 PSR 12 裡面。裡面針對了要用 tab 還是 space 排版,或者函式的左大括號要不要在函式名稱的下一行,都有明確的建議。而且,針對這系列規範有很方便的自動化工具,可以自動偵測(phpcs),或者自動修改(phpcbf),對維持專案風格的統一,進而讓專案好維護非常有幫助。
既然 PSR 規範這麼好用,那要撰寫難以維護的專案,最好就要避免 PSR 相關規範的檢查。
不使用自動工具,只靠人 code review 是否合乎 PSR 規範,是一件非常容易出錯的任務。
即使有人嘗試導入 PSR 規範,只要不在自動整合時使用自動工具做檢查,那跟沒有導入其實差不多:反正過一陣子之後,隨著開發時程的壓力,自然而然的大家就忽略格式檢查了。