各位前輩好,IT邦真的是幫了我許多忙,由衷感謝各位前輩的教學。由於小弟真的很弱,所以只好一直麻煩各位前輩,真是抱歉!
我們公司內部系統有許多不同模組(以下只取其2),模組內各有func及include資料夾,如下:
報價系統
func\func.asp <!-- #include file="..\include\connSql05.asp" -->
include\connSql05.asp
include\connExcel.asp
left.asp 左邊功能選單,<!-- #include file="..\func\func.asp" -->
p1.asp <!-- #include file="left.asp" -->
獎金計算
func\func.asp <!-- #include file="..\include\connSql05.asp" -->
include\connSql05.asp
include\connExcel.asp
left.asp 左邊功能選單,<!-- #include file="..\func\func.asp" -->
s1.asp <!-- #include file="left.asp" -->
由此可以看出有相同的connSql05.asp會存放在不同資料夾,因此若是更改資料庫密碼,或者更改資料庫ip位址,我要修改的數目其實也不少。再來func.asp及也是散佈在不同模組內,雖然不同模組會有不同function,但是重複性的function也蠻多的。
因此,是否建議我修改系統架構呢?將不同模組的網頁程式,設定讀取同樣路徑的func.asp及connSql05.asp,然後比較有獨特性的function在看看要不要放在自己的模組內?
請各位前輩給予建議,感激不盡!
後續:
斟酌各位前輩的意見後,我決定採用「逐步」修改的方式進行,
因近期也有小系統需要開發,將使用新的系統架構進行。
然而,有其他前輩建議用ASP.NET開發新架構,由於我傳統ASP還算有個底子,.NET則是完全不會
為了能夠如期達成系統開發需求,將來有時間再來研究如何轉換成.NET吧!
哈~ 感謝各位前輩的建議!!
假設你被允許做這件事情的話, 建議是可以改善現有的程式碼.
遵從DRY原則,重複的程式碼可以抽成同一支程式一起共用,比如你各模組的func.asp
有大多數重複的功能, 就把這裡面的函數都放在共通的common_func.asp
, 剩下的func.asp
是各模組特定的功能.
但早期asp這種程式碼, 幾乎不會有測試專案...所以如果要改, 建議要想好如何測試, 否則[動一髮而牽全身]的連鎖效應是很恐怖~
另外原PO也能遵從SOLID原則, 未來依著這原則寫程式碼, 會有很大的改善, 包含維護、可讀等~
話說我還沒有報告上級主管這件事,但上級主管對程式也不懂,哈! 會有修改系統架構的念頭,主要是因為有新的小系統(問卷調查之類的)需要開發,在設計系統架構時就想到這個問題。
common_func.asp及func.asp感覺是個好建議,這樣我就比較有個明確的方向可以進行了。
測試專案?? 不是很懂你的意思! 由於各模組的func.asp及connSql05.asp都是分開的,所以One by One去修改,依我目前改了一個模組來說,還算順利。
舊版ASP也可以做到SOLID原則嗎? 可以請您教學嗎?
感謝glj8989332大的回覆!!
主管不懂程式有好有壞XD....如果他放心讓你改程式就好.
測試專案是指單元測試、整合測試, 針對功能/流程的測試, 但這一項也要花不少工夫.
只要是有物件導向的程式語言, 都能應用SOLID原則. IT邦很多前人有作相關的文章, 可以多看看~ ((我的BLOG也有寫, 歡迎參觀, 我的簡介有BLOG連結))
前面浩瀚大大也提出最快的建議: 重新開專案 XD, 但有新技術的學習曲線, ASP.NET MVC 或 .NET Core觀念跟以前ASP差很多. 二來要把所有舊系統的流程都搞懂, 否則新系統東漏西漏功能~
話說普遍的前輩們都建議不要修改系統架構耶~ 我該如何是好呢!
如我在1樓的回覆,我們內部系統規模不大,但實際算下來也約有35~40個不同的小系統組合而成,目前的想法是新開發的小系統可在不影響其他模組運作的情況下,套用新系統架構,這樣不知道是否可行?
想讓公司看見你的付出, 可以先在閒餘時間用新技術做新系統, 舊的功能如前面講的, 可以慢慢優化.
等到公司有想轉變, 可以把新系統的架構DEMO給他們看, 說明好處跟舊的差異在哪, 能賞識你的主管就會懂得這價值~
有顆熱忱的心但這間公司的文化無法採納, 那只好山不轉路轉, 再找一間有相同理想的公司吧~
這已經非常老舊的應用寫法了。
基本上來說。我已經不建議你再直接更改它了。
可以的話,重新創立一個新專案還會比較好。
重點在於,你們修改它的目的。
一般太過老舊的架構。大多數來說已經沒有什麼變動空間了。
硬要改也很多地方要打掉重建。
倒不如直接重建一個新的架構還比較快。
免得改完還得要測bug。
浩瀚星空大,感謝您的快速回覆,感激不盡!
前同事是有建議我用ASP.NET + C#來改寫,只是除了語法我不熟以外,要改的幅度就不是只有動func.asp及connSql05.asp這兩隻程式了,連模組本身的數支程式也需要一併改寫,這個工程對目前只有我一個人寫程式來說,有點浩大!
所以一般想要改舊專案,如果是小修改還無所謂。
但如果要變動架構就真的不太建議。
有時候除錯的時間會比你開發的時間還要長。且也不一定可以達到目的。
當然,如果你的能力有限。就更不要說想要去改變架構。
你會改到不要不要的。
總之,一般企業的東西,其目的一定是希望依改變效能為主。
如果沒辦法照你的前同事說改用c#來寫的話。
我會建議你不要動。最多小修正就好。
如果您有時間有毅力
建議您除了架構更改外 還要改成asp.net 來寫
這樣既改善架構 也讓自己也改善(升級為asp.net)
如果沒有時間沒有毅力
那就不要改