開發介面的一點小體會

2021-05-24 00:58:55 字數 793 閱讀 6506

在軟體的開發中,介面會不時的卡住,查詢**時,我發現,在介面類中的

ontimer()

中,進行了資料庫的操作,此資料庫操作由於網路原因,耗時很長,由此造成了

ontimer()

函式很耗時,因此,我把定時進行資料庫操作的語句利用執行緒去執行,而不是用定時器,介面卡住的問題就解決了。

因此,盡量不要將耗時的操作放在介面類的

ontimer()

函式中執行,容易造成介面的卡住。

另外,在進行介面設計的過程中,有時候控制項的數量會非常多,如果所有的控制項都放在乙個介面上,對於訊息的響應看似比較好,不用自己寫自定義訊息,但是使用者的需求和軟體的變化是不可**的,一旦需要進行介面的修改,對於開發人員來說簡直就是個災難,比如需要移動十幾個或者更多控制項的位置,你需要不停地計算控制項的

getclientcrect

,然後movewindow

,在開發的過程中,我發現這樣移動不僅浪費了我很多的時間,而且必須小心翼翼,否則就會造成介面的混亂。

因此,在設計介面時,先可將控制項按照功能或者自己的一套規則先歸類,比如控制按鈕,有很多個,但是是屬於一類的,對於可以歸納到一起的控制項,可以將它們放到乙個對話方塊中,然後將這個對話方塊設為主對話方塊的子視窗,這樣在移動位置時,你需要的不是去移動好多個單獨的按鈕,而是乙個對話方塊,工作量大大減小,而且思路清晰。唯一多做的工作是,你需要做好父子視窗的訊息傳遞,通常情況下,用自定義訊息或者攔截子視窗的

pretranslatemessage

都能夠解決問題。

而且,這樣做還有乙個好處,提取出來的控制項對話方塊可以重用!這很符合軟體工程的思想。

一點小體會

最近一段時間3個工作周的封閉開發。比較累,也從原來的按時間工作改變為按量工作。工作量完不成得加班完成。在 這一塊體會比較多的 1 寫好注釋,不要太多,能表達清楚意思就行。2 在動手寫 之前,花時間想清楚自己的思路,以及自己準備在什麼地方做改動。要考慮周全,嚴謹,簡單。如果改動步數過多,該思考一下是否...

暫時刷完leetcode的一點小體會

痛定思痛,雖然我明年找工作,若以這樣的狀態和水平去筆試,面試,難以有什麼好結果。從筆試回來之後怒刷leetcode,約摸乙個月有餘,今天終於刷完142題 最後一題word ladder2是看答案copy的 紀念一下,並總結下這段時間狂刷題的感覺 對做leetcode的總結大致如此了。看了一些大公司的...

暫時刷完leetcode的一點小體會

痛定思痛,雖然我明年找工作,若以這樣的狀態和水平去筆試,面試,難以有什麼好結果。從筆試回來之後怒刷leetcode,約摸乙個月有餘,今天終於刷完142題 最後一題word ladder2是看答案copy的 紀念一下,並總結下這段時間狂刷題的感覺 對做leetcode的總結大致如此了。看了一些大公司的...