解決問題的技巧分析

晚間和同學散步,我們討論“如何提升coding能力”,讓我聯想起早上的素質教育課程。上一次聽職慧的講座是關於時間管理的,很有印象,他們的四字總結深入人心,這次類似。解決問題的步驟,他們有“望、聞、問、切”四字決。我突然想,如何用四字訣來分析我們剛纔的問題。首先,提升coding是一個模糊的目標。我們首先要搞清楚當前的狀況,然後列出預期達到的目標。爲什麼要提高呢?是寫代碼慢還是寫不出來呢?如果是慢,什麼叫慢。如果是寫不出來,那是寫什麼寫不出來,是寫作業還是寫項目。這樣一想,發現自己的問題是C編程寫作業代碼慢,簡單的作業耗時大大超過預期。而自己預期達到的目標是獨立完成一個C語言小項目。現在的目標就清晰了。我是希望由用C語言吃力完成作業的狀態轉變爲用C語言獨立實現小項目的狀態。如果要量化,就是代碼量從100行轉換到1000行的級別。目標清晰之後,就是“聞”的階段。爲什麼當前C語言只能寫100行。寫的時候,語法總感覺不太熟悉,總要去查詢手冊,或者看博客。其次,思考作業思路比較侷限,寫出的代碼邏輯漏洞多。這就是代碼只能寫100行左右的2個基本原因。先來看語法不熟悉的情況有哪些可能的解決辦法。既然不熟悉,說明接觸的少,或者未接觸過。接觸的少,那就需要多寫。另外,並不是多寫了就記住了,還得分類記憶,不同的函數庫,有不同的功能,要對它們的基本函數做分析,爲什麼屬於這個類,這樣記憶就會牢靠一點。另外自己寫代碼發現一點,如果經常通過看博客的方式解決遇到的問題,那忘掉這個函數的速度比查專業函數庫案例要快。爲什麼呢?主要是博客太零散。而專業函數庫分門別類,條理清晰。因此,在解決不熟悉函數問題時,用函數庫比用博客要好。這也不絕對,函數庫往往解決常規問題,有時博客能發現一些取巧的用法,掌握後能提高效率。漏洞較多,這是硬傷。這也是下午和同學重點討論的。我認爲是思維的質量太低決定了代碼漏洞多。怎麼叫思維的質量低呢?聽起來像低智商的感覺。其實是每門學科都有自己的思維體系,計算機學科也是如此。如果不遵循對應的思維方法,那代碼肯定問題多。現在問題來了,什麼才叫正確的思維方法。如果能搞清楚所有正確的思維方法,寫程序就是一件很愉快的事情。答案就在算法和設計模式中。我們常說算法沒用,因爲我們開發中很少用現成的算法去做一些任務。但其實另外一個我們需要面對的情況是,面對複雜的業務邏輯,有的人能快速理清,有的人卻很頭疼。這就是邏輯力在起作用。所以,算法的作用其實就是塑造良好的邏輯能力,讓你在應對複雜問題時仍然能夠有簡潔的思維。這是困難的,因爲能套用地方並不那麼多。有的人可能不怎麼懂算法,也能寫出優質的代碼。因爲他們在長久的磨練中,已經具備了實現複雜邏輯的能力。至於如何磨練的,這就存在很大的個體差異,具有不可複製性。因此計算機學科依然是依靠算法來培養學生的標準化程序思維。對我而言,我能選擇的也是如此,通過算法的訓練來增強程序化思維,把這種思維套路儘可能地用到代碼實踐中去,去實現100行到1000行的轉變。

發佈了57 篇原創文章 · 獲贊 32 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章