專案的目錄結構進行分類規劃對可維護性的意義

2022-03-02 07:02:16 字數 1869 閱讀 5776

以前也沒有深刻意識到它的重要性。直到後來,去接手一些遺留系統,那種混亂,尋找**和**檔案多麼費力。系統經過了很多人手,人員調崗,人員離職。每個人都有自己的風格,折騰一下,就閃了。丟下乙個千瘡百孔的系統。

人的眼睛是相信現實的東西,沒有經歷過那種坑,就無法理解。所以當我們怎麼說要規劃好目錄結構,要好的命名方式,一些技術都不以為然。包括我以前也一樣,我以前能夠接受好的東西,但是我沒理解,就不會有深刻發自自覺性去這樣做。內心只是想:這個問題不大吧。

因為現實案例最讓人印象深刻。總結一下遇到的問題

上面兩個是比較坑人的目錄結構,接手的人員太多了,加的目錄也重複。

後面這個系統使用mvc框架,相對好,但是也出現不清晰的地方,暫時系統的功能不是很多,所以目錄很少,看起來很清晰。但是,隨著時間的推移,加的功能越來越多,才會看起來混亂。

那個時候才去思考解決辦法。我一直在想,怎樣才能讓專案在可控的範圍內呢?

出現問題的原因是什麼

雖然好的風格在業界都是有共識的。但為什麼造成那麼混亂的系統。原因是什麼呢?

有人說原因是:各個技術人員水平不一樣。所以這個問題很難解決。束手無策。

也有人說,原因是,系統經受的人太多了。這個技術維護一段時間,然後另乙個技術維護一段時間。這樣就造成了千瘡百孔。除非公司保證技術人員的穩定性,但這個很難。所以這個問題也很難解決。

仔細,深入去思考。我在想,這些都只是表明上的原因。難道因為這樣就沒有解決辦法嗎?

如何解決,很多人也有自己的想法,歸納起來有:

1、要求系統維護人員遵循風格統一。寫好規範文件。讓大家按照規範來做。提交修改**,需要進行**審核,可是這需要成本。乙個中小型公司,技術人員有限,都是忙著開發功能去了,抽出時間來審核**(哪怕是大體審核),也是需要時間投入的。

所以現實情況是,進行**審核,在很多公司往往做不到。

2、成員培訓。歸根結底還是要放到人的自覺性上去。所以要經常給大家灌輸好的風格意識,進行培訓。這個方案其實有效果。具體得依賴於團隊技術領導本人的個人影響力,能不能以身作則,用**示範影響到成員。所以還是依賴於某乙個經驗豐富且有影響力的人,一旦缺了這個人,就會導致一盤散沙。尤其是當這個人如果離職怎麼辦呢?

上面辦法都是正確的。但是會有阻礙和困難。我在想,能不能做到不依賴於某個特別的人而讓團隊成員自覺做到呢? 並且,可不可以,忽略掉團隊成員技術水平的差異性呢?

根據心理學,就是示範效果。雖然大家水平不一樣,但是看到乙個好的示範,會不自覺的遵守。另外就算其不遵守,也會感到無法使用。自己都會感到羞恥。

比如mvc的框架,定好了controllers,views,models,後面剛入門的人,都能按照目錄結構去加**。

具體要做的是:對系統的**和目錄預先設計好。規劃好目錄結構。什麼目錄放哪種型別的檔案的。

以前聽過一句話說:架構師的目標就是讓程式設計師變得更加不用很費很多精力,按照預先規劃設計好的方式去做就可以。

現在看來這個非常有道理。

心理學:如果已經有的東西是混亂的,那麼也會覺得痛苦,乾脆湊合一下算了

做系統前,把系統的規劃好

不規劃好,後面接手的人就會不知道標準。

安裝目錄包括一下幾個資料夾:

安裝目錄/public/

安裝目錄/cache/

說明:

1、public目錄下是對外開放的目錄。也就就是nginx配置指向的目錄。目錄裡面的子目錄接下來在詳細介紹

3、cache,模版編譯快取存放到這個裡面。為什麼要放到這個裡面呢?

public目錄下的子目錄

public/index.php

public/js/

public/images/

public/css/

ios專案的目錄結構

的部落格 網上相關的資源不多,開源的且質量還不錯的ios專案也是少之又少,最近正好跟同事合作了乙個ios專案,來說說自己的一些想法。目錄結構 models macro general helpers vendors sections resources 乙個合理的目錄結構首先應該是清晰的,讓人一眼看...

Go專案的目錄結構

專案目錄結構如何組織,一般語言都是沒有規定。但go語言這方面做了規定,這樣可以保持一致性,做到統 一 規則化比較明確。1 一般的,乙個go專案在gopath下,會有如下三個目錄 bin pkg src 其中,bin存放編譯後的可執行檔案 pkg存放編譯後的包檔案 src存放專案原始檔。一般,bin和...

scrapy專案的目錄結構

在乙個工程裡,建立scrapy框架的專案需要使用命令 scrapy startproject 專案名 建立成功後會出現以下劃紅方框的目錄結構 spiders 儲存爬蟲 目錄 init py 爬蟲專案的初始化檔案,用來對專案做初始化工作。items.py 爬蟲專案的資料容器檔案,用來定義要獲取的資料。...