iT邦幫忙

0

怎樣才不會被迴圈與陣列把頭搞昏呢 ?

沒次看到迴圈與陣列 , 想法就跟他一直轉
轉到後來也頭也昏了 , 大家是否也會這樣呢 ?
要怎麼才能克服呢 ?

看更多先前的討論...收起先前的討論...
總裁 iT邦好手 1 級 ‧ 2011-08-26 08:28:29 檢舉
改用遞迴....暈毆飛
這可能表示您不適合寫程式吧,真的非寫不可嗎??
tn11428 iT邦新手 4 級 ‧ 2011-08-26 08:35:11 檢舉
多看幾次,多寫幾次

總有一天會開竅毆飛
tonychen168大大的問題在上一題

http://ithelp.ithome.com.tw/question/10072417

我已回答了,請參考謝謝
會被這種問題搞昏, 表示你可能不適合走寫程式這一行
hsw1976提到:
會被這種問題搞昏, 表示你可能不適合走寫程式這一行

OK的啦 人生就是要戰鬥啊
拿出研究精神 跟它拼了健身
8
kradark
iT邦好手 1 級 ‧ 2011-08-26 10:29:18
最佳解答

調整巢狀深度,增加子函式...
例如有6層迴圈時,就看能不能把裏頭3層另外寫一個function呼叫,
這樣就變成3層+3層的迴圈

陣列就比較麻煩 多練習囉
以三維內為準
如果不得已要增加維度
要更小心的撰寫操作的子函式
真的駕馭不了陣列 等同放棄開發這條路

對指標頭大就好解決
選擇C#或Java等可以不用指標的語言
放棄C與C++

另外,每一個子函式不要太長...
以你腦袋瓜一次可以容納的長度的一兩倍為準...

有人說人的大腦同時只能記住七樣事物
所以同時使用在一個程式區塊的常用變數
儘量不要超過七個 容易錯也不容易維護
調整架構降低個數

另外變數名稱要取可以代表意義的
例如取成a,b,c,d,e,f,g...
這個子函式就不容易看了,
除非這個工作你不想交接給其他member

這稱為結構化程式設計
先畫流程圖或增加註解也是個方法
或者另外在旁邊用紙用口語寫虛擬碼

4
pantc328
iT邦研究生 1 級 ‧ 2011-08-26 08:56:46

把搞昏的貼上來看看

ehawk iT邦研究生 1 級 ‧ 2011-08-26 09:26:44 檢舉

你是要他貼頭?

legacy iT邦新手 4 級 ‧ 2011-08-26 10:49:11 檢舉

把未的貼上來看看....毆飛

4
easonjuan
iT邦研究生 1 級 ‧ 2011-08-26 09:23:32

被混亂的時候,我會把他畫在紙上.

總裁 iT邦好手 1 級 ‧ 2011-08-26 09:53:25 檢舉

本來只有頭昏,畫到一半發現....眼也花了....暈

4
liurambo0911
iT邦高手 1 級 ‧ 2011-08-26 10:38:42

ㄟ....坐在地上看程式?

我是盡量在迴圈的開始跟結束就先加上註解
不要在中途加入迴圈

陣列應該比較簡單吧
只要有個VIEWER 也不至於會太難查看

4
sula3065408
iT邦研究生 1 級 ‧ 2011-08-26 14:02:45

ㄟ~沒這個煩惱耶~

自己寫的迴圈甚至是遞迴都莫名其妙的清楚,因為是你寫的(不清楚會亂來吧),你會清楚知道你要的是什麼,不符合目標的CODE就是BUG。

有意義的切割程式也很重要,人單純,程式也單純,搞得太複雜,自找麻煩而已,用函式切割也是種方法,用Callback或虛擬函式當介面也好,總之就是單純好一點。(就跟買投資型保單的冤大頭一樣,投資就投資,保險就保險,搞這麼複雜,好康的都嘛給保險公司賺走,風險都留給保護承擔,愈複雜的套餐愈容易A到錢,阿連動債...恩...離題了)

看別人的程式,縮排太爛,叫atyle拿去排一排,之後就是按照每一個階層跟著跑一下就差不多了,另外一種方法是丟訊息印到螢幕上,好讓你確定這迴圈這樣走有沒有錯,反之把該部份拆出來,丟一些資料進去玩一玩看結果也是種方法,不然就乾脆不要懂,會用就好了吧~XD。

我要發表回答

立即登入回答