https://blog.csdn.net/hhx0626/article/details/83182023程序員
https://blog.csdn.net/hhx0626/article/details/83506712redis
我學習編程以來,遇到不少bug,也解決不少bug。我會把這些bug記錄下來,下次再遇到,我會有備無患。但長此以往,我發現,我變蠢了,我沒有分析問題的能力,我遇到問題,直接百度,這讓我剩下思考的時間,由於問題基本都出現過,也被解決過。可是,全部我遇到的問題,不會進入個人腦子,我不會思考,這個問題是怎麼出現(復現)的,而是爲了解決問題而百度答案,我以爲,若是一直這樣,我會永遠得到不了經驗,我只會成爲代碼的搬運工,沒法成爲高級程序員。編程
首先,咱們要確認產生問題可能的緣由,而後把這些緣由根據經驗排列優先級,而後再去逐一解決學習
那如何確認問題產生的緣由:首先確認一條線,問題會通過哪些環節,每一個環節須要注意的地方是什麼,一步步添加有可能出現的範圍,而後再去根據優先級解決,看日誌,親自debug,最後不行就百度,問老大。優化
我沒有經驗,如何排序:沒有經驗,開始只能所有都試試,解決一個問題,這個問題解決方案就是經驗,下次就優先級給他編碼
當你解決完一個問題,你還要想,如何解決這一類問題,那咱們須要一個方法論,好比下面這個:spa
遇到一個問題B,學習知識B,經過百度,博客,經驗相傳等方式,解決問題B。而後,會去找到知識B的官方文檔,更多的學習,得到類B知識,以及B的細化內容.net
從我解決問題的思路來看, 我是更傾向於知道這個問題出現的整體緣由到底有什麼的,因此,我在學東西的時候,會更傾向於先掌握宏觀體系,再優化細節內容。debug
具體的例子: 若是我要學習redis,我會怎麼學?日誌
前提是:我爲何要學redis,是我本身單純好奇,就是想了解一下,仍是我遇到了什麼問題,須要深刻學習redis去解決? ——定義好這個問題, 會更容易的讓我本身在鑽牛角尖的時候,鑽出來!
而後,當我決定,我就是要學redis的時候,我會怎麼去學習呢?
最後,我但願,本身能養成一套解決問題的方法論,逐步累積經驗,走得更遠。