調整巢狀深度,增加子函式...
例如有6層迴圈時,就看能不能把裏頭3層另外寫一個function呼叫,
這樣就變成3層+3層的迴圈
陣列就比較麻煩 多練習囉
以三維內為準
如果不得已要增加維度
要更小心的撰寫操作的子函式
真的駕馭不了陣列 等同放棄開發這條路
對指標頭大就好解決
選擇C#或Java等可以不用指標的語言
放棄C與C++
另外,每一個子函式不要太長...
以你腦袋瓜一次可以容納的長度的一兩倍為準...
有人說人的大腦同時只能記住七樣事物
所以同時使用在一個程式區塊的常用變數
儘量不要超過七個 容易錯也不容易維護
調整架構降低個數
另外變數名稱要取可以代表意義的
例如取成a,b,c,d,e,f,g...
這個子函式就不容易看了,
除非這個工作你不想交接給其他member
這稱為結構化程式設計
先畫流程圖或增加註解也是個方法
或者另外在旁邊用紙用口語寫虛擬碼
ㄟ....坐在地上看程式?
我是盡量在迴圈的開始跟結束就先加上註解
不要在中途加入迴圈
陣列應該比較簡單吧
只要有個VIEWER 也不至於會太難查看
ㄟ~沒這個煩惱耶~
自己寫的迴圈甚至是遞迴都莫名其妙的清楚,因為是你寫的(不清楚會亂來吧),你會清楚知道你要的是什麼,不符合目標的CODE就是BUG。
有意義的切割程式也很重要,人單純,程式也單純,搞得太複雜,自找麻煩而已,用函式切割也是種方法,用Callback或虛擬函式當介面也好,總之就是單純好一點。(就跟買投資型保單的冤大頭一樣,投資就投資,保險就保險,搞這麼複雜,好康的都嘛給保險公司賺走,風險都留給保護承擔,愈複雜的套餐愈容易A到錢,阿連動債...恩...離題了)
看別人的程式,縮排太爛,叫atyle拿去排一排,之後就是按照每一個階層跟著跑一下就差不多了,另外一種方法是丟訊息印到螢幕上,好讓你確定這迴圈這樣走有沒有錯,反之把該部份拆出來,丟一些資料進去玩一玩看結果也是種方法,不然就乾脆不要懂,會用就好了吧~XD。