我已經編寫了一個應用程序,用於檢查多個POS設備(計算機)是否聯機並回復到網絡ping然後顏色取決於ping響應,相應的矩形爲紅色或綠色。它有10條「線路」,每條線路能夠顯示主服務器和多達60個POS設備以及可以填充站點號碼的文本框。然後,當你點擊開始時,它將讀取2個.ini文件來查找站點IP方案和設備數量以及它們的地址,以便每個設備都可以進行pung(或ping通)。我附上了應用程序的截圖,這可能有助於解釋我做了什麼?!類中的代碼太多,但不知道如何去減少它
然後,我可以使用我的應用程序查看一個或多個網站上的計算機是否在線,例如,如果我運行遠程升級到計算機,我可以看到它們都停止回覆(框變紅)並重新開始(箱子再次變綠),那麼一旦所有更新都完成並且所有計算機都重新啓動,我可以輕鬆地判斷出來。我的問題是我的代碼太長(IMO),可能不如它的效率(60k行!)。
對於10行中的任何一行或全部行,除了對象和變量名等外,每行後面的代碼是相同的(即第一個'回覆'矩形被稱爲'rectSt1Pos1'(意思是矩形形狀 - 商店1 - 位置1 ),然後'rectSt1Pos2'等等等等直到'... Pos60',並且對所有10行重複(最後是'rectSt10Pos60'))。這意味着我必須繪製610個單獨的盒子(因爲我不太自信地動態繪製它們),並且我對此感到滿意,但是我已經完成了諸如在課程開始時初始化所有變量的事情(沒有分配值),但超過1200行只是爲每個可能的設備都有一個成功和失敗應答計數器(10個站點,每個站點有一個主服務器,每個站點最多60個POS,每個設備一個成功和一個失敗計數器= 1220 int值來存儲ping計數!)
好的,所以這對於應用程序的解釋已經足夠了,至於我的問題,即我的應用程序代碼(大部分是在單個類中我唯一擁有的其他課程是閱讀ini文件))約有60,000行(是的六萬!)。這基本上是我認爲應該達到的10倍,我相信我應該能夠減少這個,但是我不知道如何開始思考重構代碼!!
此外,我認爲我應該能夠執行所有的操作,可以調用的泛型類或方法中的每一行,但我不知道如何做到這一點,因爲每一行矩形和地址等。是不同的,需要更新跨線程(我;與跨線程確定))
因此,總之,沒有人有任何關於如何減少代碼大小的建議?也許可以有60000行以上的類,編譯時的應用程序大約是1.8Mb,並且使用大約40Mb的內存,15-25個線程和400-1100個句柄......這是可接受的開銷嗎?
任何意見,意見或幫助與此將不勝感激。我還可以發佈代碼片段,如果它有幫助,並且屏幕截圖尚未發佈(因爲我沒有足夠的聲譽點)。如果需要,我可以在其他地方託管。
您的時間非常感謝,請問如果有什麼不太清楚(但不要說這一切,哈哈!)
乾杯,
丹。
哪種語言? –
對不起,我剛剛看到此評論!,我正在使用C#:) – RatMonkey
您將獲得更多幫助(我使用C#標記標記了您的問題) –