2012-10-22 62 views
0

道歉,如果這個問題對於論壇來說過於籠統(主持人,如果是這樣的話,請刪除)。我應該繼續MFC的桌面應用程序嗎?

我開發了一個專用科學數據分析的桌面應用程序,我幾年前開始使用MFC/C++。然而,這是一個正在進行的項目(新技術不斷髮展),並且這些年來它變得相當龐大和混亂,所以我意識到一個重大的重構可能已經過期了。

我的問題是,你是否會建議我堅持使用MFC作爲基礎,或切換到別的東西,如果是這樣,什麼?我非常致力於C++的分析引擎,因爲我真的不想重新編寫大量的數字運算代碼,但我知道微軟似乎正在傾銷MFC(VS 2012甚至有爲新的MFC項目放棄了內置的上下文相關幫助選項)。所以我想知道你是否會建議我切換到其他UI界面的東西?很明顯,我寧願堅持使用MFC,因爲我沒有混合語言編程的經驗,但如果切換建議足夠強大,我想我可以學習!

歡迎任何意見/建議!

+1

Qt非常流行,組織良好,並且具有Visual Studio集成(現在也在開源版本中)。 – kolen

回答

1

也許QT至少值得測試。您將擁有一個清晰的面向C++的API和一個可移植的框架。

3

如果你有編寫和調試的代碼,我會建議堅持下去,除非你有充分的理由不這樣做。有關MFC的消亡的傳聞不足以放棄已有的代碼庫,這聽起來相當重要。或者至少他們是不夠的我的書;你的旅費可能會改變。事實上,MFC不太可能會去任何地方,似乎還在繼續前進;事實上,微軟通過發佈VS2010附帶的庫增加了許多新的MFC功能。

現在,上下文相關的幫助選項消失的原因並不是Microsoft正在消除MFC。看看這個網頁連接:http://connect.microsoft.com/VisualStudio/feedback/details/767062/missing-context-sensitive-help-option-in-mfc-application-wizard-for-visual-studio-2012

1

你確定你的分析引擎可以很好地從MFC中分離出來嗎?你沒有使用CString或其他特定於MFC的對象嗎?如果是這樣,你可能需要堅持下去,而你並不孤單。有一些大公司無法擺脫MFC。這就是MS不能簡單地轉儲MFC的原因之一。

MFC有其自身的弱點,可以成爲一個混亂的代碼容易的目標。但在很多情況下,你必須責怪沒有遵循OOP設計原則SOLID的程序員,即使使用MFC也是如此。

如果你真的想擺脫MFC,你必須首先制定非MFC部分的重構和單元測試計劃。一旦你感覺足夠了,那麼你就可以開始移植了。但預計這將是一個顛簸的旅程。