寫了這麼久的**,一直是照搬照套的成分居多,知道最近,自己設計和編碼的內容變得多了,才逐漸感覺到資料結構對乙個功能模組是多麼的重要,下面談談自己的一點理解:
首當其衝,我們設計功能模組無非是對資料的處理,乙個好的資料結構,不但能夠簡化我們的資料傳遞,更能在資料處理的各個環節達到簡化處理步驟的效果。
我們可能會有這樣的印象,編寫模組之前,我們有了乙個大致的資料結構,然後,開始逐步實現各個子功能,但是,發現原來設計的資料結構有所限制,這時候,我們要不是修改資料結構,簡化處理步驟,要麼就是通過增加處理分支來保證邏輯的正確,各有利弊。
採用前者,會造成我們不斷地重構,一般情況下,一旦優化了資料結構,之前編寫的很多處理函式都需要進行適當地調整,這樣就無形中增大了我們的工作量,使我們疲於奔命。如果採用後者,我們會發現,雖然模組可以正常執行,但是由於函式體內分支過多,導致了複雜度的增加,為維護增加了難度。那有沒有什麼好的處理方法呢?
個人意見,我們需要根據專案的實際情況進行判斷,如果我們維護的是乙個原有系統,並可能提供一些新的功能,我們可能會偏向於使用增加條件分支的方式來做,一般不建議修改原有的資料結構來優化,因為可能會為我們帶來許多關聯問題,而當我們對這個系統不是100%熟悉的情況下,出現關聯bug往往會成為我們的噩夢。
相對的,如果我們開發的是乙個新的系統地新的功能模組,我們可以採用不斷優化資料結構的方式,因為這樣能夠保證**的簡單性,便於今後的再開發和維護。
話又說回來,我們應該盡量在模組設計階段,盡量考慮到系統地應用範圍和邏輯功能,能夠在設計初始就能保證該資料結構能夠滿足絕大多數的邏輯功能需要,但這往往需要乙個經驗積累的過程,往往不能操之過急。
資料結構在實際開發過程中的應用
寫了這麼些年的 對資料結構和演算法分析也只停留在皮毛階段,實在是慚愧,把自己最近一段時間在專案中資料結構的具體應用總結一下。結構具體應用 結構體用來表示某些純資料結構會很好 指標的指標 做動態陣列用效果不錯,但是在初始化時也需要動態確定指標的容量 一維陣列 用來儲存一些配置資訊列表不錯 二維陣列 做...
資料結構在實際開發過程中的應用
寫了這麼些年的 對資料結構和演算法分析也只停留在皮毛階段,實在是慚愧,把自己最近一段時間在專案中資料結構的具體應用總結一下。結構具體應用 結構體用來表示某些純資料結構會很好 指標的指標 做動態陣列用效果不錯,但是在初始化時也需要動態確定指標的容量 一維陣列 用來儲存一些配置資訊列表不錯 二維陣列 做...
關於VARIANT資料結構的一點疑問
今天在使用vector結構儲存的時候,發現push back時的資料沒有問題,但是通過下標或迭代器取出來的時候出現了資料不匹配的情況。具體原因還待研究。由於時間的關係,我換了一種方式,用vector結構儲存,具體過程如下。variant pval pval variant cotaskmemallo...