學習一門逆向時,每個人都試圖記住所有的東西,這并不奇怪。雖然有些人永遠不會忘記,他們可以想出一個解決方案直接在他們的腦海中,但普通人不能。特別是那些剛開始學習和探索逆向世界的人,比如我自己。
我逐漸認識到,要記住你遇到的所有代碼是不可能的!
接下來的問題是:我們如何解決這個問題?
1.明白你能做什么,而不是記得怎么做
事實上,代碼可以構建的特性有無數種可能!你可以用代碼構建任何東西,只要你可以想到。學習一門新語言是一件非常令人興奮的事情。查看問題和代碼示例以及學習如何使用這種語言和/或新概念來完成工作是很重要的,但是我們不能記住所有的信息,不要做不必要的嘗試!你可以在將來需要實現它時回顧。在開始時,你只需要記住這個概念可以實現什么樣的功能。
當我深入研究“反應”的時候。這個方法給了我很多幫助。實現的可能性太多了。你有無數種方法來傳遞道具、創建新狀態和組合組件——真的有太多了!就像一個大謎團!
我知道React可以做很多事情,雖然我不能告訴你具體怎么做,但我知道有這種可能性,這很重要。
2.在需要的時候找到需要的代碼。
就像學習一門新的語言,你知道你想說什么,但你不知道說什么。逆向也是如此!
當我剛開始學習逆向時,人們把谷歌稱為“終極工具”。當時我在想:我已經使用谷歌很多年了……我錯過了什么?
后來我發現,重要的不是搜索內容,而是搜索的方式。不管你在找什么答案,網上都有,看看你怎么能找到!
當你用一門外語和別人交談,或者用逆向時,你可以通過谷歌找到如何表達它。你不必記住圓括號的位置,或者它們是逗號還是分號。應該使用圓括號還是大括號的問題非常容易出錯,而且很容易解決!只要快速搜索,兩秒鐘就能找到答案。
然而,我好幾次感到內疚,因為我寫不出完美的語法。如果你有語法問題,那你就是有缺陷!重要的是你知道你要做什么,然后記住要做什么!
3.你從哪里開始?
學習一門新的逆向肯定會讓人不知所措。當有人說:“讓我們放手吧!”,我感到很困惑。我應該從哪里開始?最后,我發現你永遠無法為需要構建的特性做好準備。你唯一能做的就是邁出一步先看看。
如果你沒有任何問題,不需要搜索任何技術,不需要尋求別人的幫助,不需要返工來成功地建立一個項目,我可以得到一美元,然后我告訴你…我一美元還沒有呢!
犯錯是學習過程的一部分。犯錯是學習、發展和提高程序員技術技能的一部分。學習故障排除和調試代碼更重要,而不僅僅是聽別人說:“我也遇到過這個問題,你需要做的就是……”。
我強烈建議你嘗試自己解決這個問題。努力工作。不要害怕搞砸或破壞你的代碼。必要時,你可以重新構建整個項目。在學習新知識(如逆向)時,你可以反復學習真正的技術。一遍又一遍,直到你完全掌握。
4.如何實現?
找到你想要構建的并開始工作!不要猶豫。不斷嘗試,不斷失敗。當你不確定自己想做什么時,花點時間研究一下這個問題。分解成塊。計算出如何解決每個塊。然后,想法是把所有的碎片放在一起。如果您忘記了如何編寫for循環,或者忘記了高階函數將返回什么,請不要擔心。在繼續之前,您可以參考文檔或指南。
有時這是一個緩慢的過程,但很值得。最后,你會變得更加自信,有很多你想要實現的新想法。
你會記得如何實現它嗎?不會。
然而,你可以參考過去的項目,在谷歌上找到答案,或者閱讀論壇。答案都是現成的,你所要做的就是找到答案。