Human Resource Machine|帶非專業(yè)的你切身體驗程序員

大學(xué)選錯了專業(yè),如果選擇了計算機專業(yè),我現(xiàn)在也是月薪過萬了,生活在大城市,也應(yīng)該有了女朋友。以上是我的白日夢,沒學(xué)過計算機的我現(xiàn)實只是工地民工,幾天前在appstore看見有Human Resource Machine這款游戲,為了體驗一下當(dāng)程序員的感覺,在steam 上下載了這款游戲,就開始了閉門造車之路,沒有查任何攻略,最后通關(guān)。
總的來說這款游戲的難度不是太高,不需要你會任何編程語言,都是一些基礎(chǔ)的數(shù)學(xué)知識,加減法轉(zhuǎn)化成乘除法,比較大小,排序,斐波那數(shù)列,刪除重復(fù)項的問題。玩這個游戲的當(dāng)時想不出來的問題,可以在你干別的事的時候慢慢想出來,只要有了靈感就可以在后來把算法寫出來。其中對于我個人來說最難的一關(guān)是英文詞典排序題目,卡了兩天,花費六七個小時才過了這關(guān),它的題目是任意輸入兩個英文單詞,輸出詞典里面比較考前的那個單詞。后面的關(guān)卡我都過關(guān),但算法體積和速度的優(yōu)化不夠,沒學(xué)過程序的我能通關(guān)就很滿意了。優(yōu)化的難度太高,還是留給專業(yè)程序員。
說一下玩這個游戲的幾點感悟:
1當(dāng)全身心投入到一個題目里時,思路出現(xiàn),程序運行成功的時候真的會有很大的成就感。
2你有了正確的解題思路也不一定能夠讓程序正確運行,可能因為你輸錯一個代碼,或者是因為你思維的局限性,調(diào)bug真的是很痛苦的一件事。
3復(fù)雜的關(guān)卡,在你寫程序時,一定要寫注釋,如果不寫注釋一是回過頭來你也看不懂你寫的什么,二是后面修改調(diào)整代碼你會找不到修改的位置。
4從一般事件模型中發(fā)現(xiàn)規(guī)律,這樣就有了思路,后面再查漏補缺考慮特殊的情況。
5復(fù)雜的關(guān)卡,可以先分為幾個不同的模塊,先一個模塊一個模塊的編寫調(diào)試,最后再總體調(diào)試,這樣比直接總體調(diào)試更容易發(fā)現(xiàn)問題的所在。
6當(dāng)遇到障礙卡了殼,重新梳理自己的算法結(jié)構(gòu)流程,看算法是否有新的解法,重新改變算法流程,然后再重新編程。
7審題一定要審清除,不要會錯題意。你實現(xiàn)的功能與題目要求的功能不一致是很浪費時間的。
8解決一個問題的解題思路是最重要的,而程序語言是次要的。