晚上離開實(shí)驗(yàn)室之前,摳了一道C語言編程題,大概屬于那種入門級的吧。本想著能夠很容易搞定,就按著自己的思路動手開擼。磕磕碰碰總算是敲了出來,但是對于程序的邏輯結(jié)構(gòu)并沒有清晰認(rèn)識,一心想著運(yùn)行一下也許就是正確的結(jié)果,再不濟(jì)也能夠反過來指示正確邏輯的方向。出乎意料的是,數(shù)次的運(yùn)行效果都與期望相差甚遠(yuǎn)。看著被自己改得像坨屎一樣的代碼,深感無力。過了大概一個多時辰,當(dāng)我靜下心來,終于想到了那條關(guān)鍵的邏輯代碼。
回顧這整個過程,它顯得是那么笨拙,那么地低效,因?yàn)椋冶究梢杂眠@些時間做出更多有意義的事情。
一味地獨(dú)立思考(或者說,就是固執(zhí)),未必是一件好事。懂得在適當(dāng)?shù)臅r候認(rèn)慫,或許是更明智的選擇。要知道,小孩子剛出生是不會說話,不會行走的,他需要的是在正確的指引下,去不斷的模仿練習(xí)。同樣,學(xué)習(xí)一種技能(編程)亦是如此,模仿著學(xué)習(xí)是既高效又有效的。誠然,也許你能夠最終做出同樣的效果,但是,它的效率可能是差強(qiáng)人意的,它的邏輯結(jié)構(gòu)可能是扭曲的。如果這時你再看下正確的編碼姿勢,你會發(fā)現(xiàn)自己的代碼真是不能直視。更不幸的是,這種經(jīng)過自己固化的編程思維,總是會比正確的編程思維優(yōu)先級高(因?yàn)椋@是你花了大量時間摳出來的,淚呀)。
如果在編程初期,通過不斷的參考模仿,向自己的大腦植入正確的編程思維,而不是一味地盲目思考,會來得更有效。
另外一點(diǎn),在我們動手編寫代碼之前,首先想清楚,程序的關(guān)鍵的核心邏輯是什么?先從宏觀把握,通常會比盲目的動手編寫代碼要更高效。因?yàn)檫@樣,自己不容易陷入到程序某個邏輯層,無法自拔。如果這樣的情況真的發(fā)生了,也要懂得適當(dāng)?shù)膕top一下,靜下心來想一下程序的邏輯是怎樣的,也許就會有結(jié)果了。
回想自己一路走來,因?yàn)楣虉?zhí)的思考問題,因?yàn)樽约旱木髲?qiáng)不認(rèn)慫,吃了太多的虧,走了太多的彎路。其中,高考算是我吃得最大的一次虧了。
每次的理綜考試,我總是做不完,這我是知道的。但每次都有很多容易解出的題目,最后沒有機(jī)會做了,這肯定是有問題的。這個問題就是,我總是會死摳一道題(因?yàn)椋偸侨綦[若現(xiàn)的讓我覺得自己能夠搞定)。結(jié)果,在最重要的那次考試中,我還是那樣做了,也嘗到了它的苦果。顯然,并不是我只在考試中才有這個習(xí)慣,這個肯定是我在平時的練習(xí)和日常生活中就有的,真是細(xì)思極恐。