整理專案結構,提高工作效率
入職以來,手上的laravel專案已經開發了兩個多月,隨著版本的更替,專案裡存在了3個版本的程式碼:初始版、v1、v2。
對於laravel專案來說,對於程式碼,大概分為四大部分:模型、控制器、前端、資料庫遷移表。版本的更替,是由於前後端分離,將前端摘離出去後,剩餘的三部分程式碼由我完成。
專案開發過程中,後端的三部分程式碼一直只有一分,也就是說v1邏輯程式碼會覆蓋之前的初始版,而v2會覆蓋v1,這是由於前一版本程式碼肯定不會重用這一確定性。而對於前端部分程式碼,則是按版本建立了v1、v2兩個靜態頁面的資料夾。
而我在綁資料的時候,怕需要用到前一版本的繫結過資料的前端程式碼,以及前端程式設計師也在同時修改,為了不產生衝突,我的做法是不直接引用v1、v2資料夾下的程式碼,而是將檔案複製一份出來,放到專案需要的地方,不破壞前端程式碼的完整性。
這樣,我的後端程式碼中出現了三個版本的前端程式碼。此時問題就出現了。
一、命名
我之前一直覺得自己的命名習慣還可以,但是現在看來確實大有問題。
初始版前端程式碼我命名為_origin_xxx.blade.php
v1版程式碼命名為xxx_v1.blade.php
v2版程式碼命名xxx_v2.blade.php
三個版本的命名格式不統一。
二、存在過多版本檔案。
這導致每次控制器返回頁面的時候,我需要去控制器修改。
舉例子來說,比如首頁檔案,按之前的做法是有三個index頁面,其命名與控制器返回的語句分別為
_origin_index、 return view('_origin_index');
index_v1、 return view('index_v1');
index_v2、 return view('index_v2');
這樣的做法導致我每次換程式碼,都要去找對應控制器的邏輯,完成版本更新,專案檔案數量多起來以,著實是費時費力。
解決辦法:
更好的做法是使用固定的頁面檔案,更改其中的程式碼,而不是指向新的檔案。
還是接上面的例子,首頁檔案就叫index.blade.php。同樣是從靜態前端程式碼中copy,不是新建一個字尾為vx的版本檔案,而是直接覆蓋到index這個頁面檔案中,這樣就省去了去控制器找邏輯的時間和精力,且專案結構看起來更清晰。而如果需要保留之前的程式碼,複製一個新的檔案就可以了。而對於某些落後版本比較多的檔案,完全可以直接刪除。
對vue的components部分也是一樣,保留固定的線上使用的版本,其餘程式碼整理到完全不相干的其他目錄中,保持專案清晰,提升工作效率。也方便與前端同事的交流。
之前由於我的問題導致前端同事在看程式碼時需要經常詢問我他的程式碼被綁到哪裡去了。
經過整理,專案結構更加清晰,前後端交流更加方便,專案開發效率提升。
在以後的開發中我會多注意這方面問題。