程式開發應從橫向實現(而不是縱向實現)

2021-04-24 16:16:30 字數 955 閱讀 1708

也許有些人早就是這樣做了,也許有些人還在和我一樣,也許有些人認為這樣挺好的,總之我認為這是我要改進的地方。程式開發應首先統觀全域性,然後再逐個深入。

舉例:要實現某一功能,在開發過程中,往往需要將功能分成多個模組,每個模組下有眾多子模組,再拆分成多個相互配合函式,然後是子函式,巢狀函式等等。

這個設計過程中,有時候往往由於頭腦太過投入,而讓思維不斷的遞進深入到某一模組下無法自拔。

而當真正開始編碼的時候,也是跟著思想走,首先完成最低層的函式,然後再逐步上推到頂層,然而當辛辛苦苦做到頂層後突然發現,自己當初在某處想得其實不夠全面。

於是,前面的辛苦就算是白費了。雖然通過不屑的重構調整最終還是完成了,可是,最終的**已經被改得面目全非,不**樣了。

這一開發過程可以用下面的圖示來形容:

我經常犯這樣的錯誤,甚至是自己在家裡做一些小例項程式的時候也是如此。這也反應了思維方式的一些缺陷。

在橫向實現的過程中,程式的設計及開發應當是對系統功能樹的橫向遍歷。同樣以上面的功能舉例,在完成所有模組(模組a、模組b、模組c)的設計前,不急於設計或是實現某一模組的具體子函式或是子模組。

這樣的好處是,當發現自己出現錯誤的時候,調整的幅度會是最小的。就像軟體開發過程中的瀑布式模型一樣乙個階段乙個階段的完成。

另外補充一點使用條件:以上開發方式,適用於對專案中所用到的技術或相關業務邏輯比較熟悉的情況。

如果乙個開發這第一次接觸此類功能,對技術或業務邏輯不是很清楚。基本上無法做到合理的進行模組拆分,也就不可能乙個階段乙個階段的進行了。

這個時候就要先做一些假設的模組拆分方案,然後動手分塊做小實驗來驗證一下。

乙個問題又出來了,如何才能確定自己對這個功能是否熟悉呢?

答案:個人經驗,我會問自己這樣乙個問題:

這個功能如果我來完成,你能夠多長時間實現它?如果回答不出來這個問題,那就是說裡面的東西我還有很多不熟悉的。

最後,還是希望如果那位ggjj有好的見解或寶貴經驗能夠供小弟分享,不勝感激

小程式css實現橫向滾動

剛剛從零開始接觸前端,趕鴨子上架記錄下自己的問題.要做乙個動態獲取標題的可橫向滾動欄,記錄下css樣式 wxml class scrollout scroll x wx for wx key key data id class outarr catchtap clickoutcurid view s...

iOS開發 橫向流水布局實現

ios開發 橫向流水布局實現 效果展示圖 原始碼 1 photocell.h 2 自定義流水布局 3 6 7 8 import 9 10 inte cephotocell uicollectionviewcell11 12 property nonatomic,strong uiimage imag...

IOS開發 橫向流水布局實現

viewcontroller.m 自定義流水布局 created by xmg on 16 1 15.import viewcontroller.h import photocell.h import photolayout.h a b c a b c int d 2,3,5 高聚合,低耦合 int...