晚間和同學散步,我們討論“如何提升coding能力”,讓我聯想起早上的素質教育課程。上一次聽職慧的講座是關於時間管理的,很有印象,他們的四字總結深入人心,這次類似。解決問題的步驟,他們有“望、聞、問、切”四字決。我突然想,如何用四字訣來分析我們剛纔的問題。首先,提升coding是一個模糊的目標。我們首先要搞清楚當前的狀況,然後列出預期達到的目標。爲什麼要提高呢?是寫代碼慢還是寫不出來呢?如果是慢,什麼叫慢。如果是寫不出來,那是寫什麼寫不出來,是寫作業還是寫項目。這樣一想,發現自己的問題是C編程寫作業代碼慢,簡單的作業耗時大大超過預期。而自己預期達到的目標是獨立完成一個C語言小項目。現在的目標就清晰了。我是希望由用C語言吃力完成作業的狀態轉變爲用C語言獨立實現小項目的狀態。如果要量化,就是代碼量從100行轉換到1000行的級別。目標清晰之後,就是“聞”的階段。爲什麼當前C語言只能寫100行。寫的時候,語法總感覺不太熟悉,總要去查詢手冊,或者看博客。其次,思考作業思路比較侷限,寫出的代碼邏輯漏洞多。這就是代碼只能寫100行左右的2個基本原因。先來看語法不熟悉的情況有哪些可能的解決辦法。既然不熟悉,說明接觸的少,或者未接觸過。接觸的少,那就需要多寫。另外,並不是多寫了就記住了,還得分類記憶,不同的函數庫,有不同的功能,要對它們的基本函數做分析,爲什麼屬於這個類,這樣記憶就會牢靠一點。另外自己寫代碼發現一點,如果經常通過看博客的方式解決遇到的問題,那忘掉這個函數的速度比查專業函數庫案例要快。爲什麼呢?主要是博客太零散。而專業函數庫分門別類,條理清晰。因此,在解決不熟悉函數問題時,用函數庫比用博客要好。這也不絕對,函數庫往往解決常規問題,有時博客能發現一些取巧的用法,掌握後能提高效率。漏洞較多,這是硬傷。這也是下午和同學重點討論的。我認爲是思維的質量太低決定了代碼漏洞多。怎麼叫思維的質量低呢?聽起來像低智商的感覺。其實是每門學科都有自己的思維體系,計算機學科也是如此。如果不遵循對應的思維方法,那代碼肯定問題多。現在問題來了,什麼才叫正確的思維方法。如果能搞清楚所有正確的思維方法,寫程序就是一件很愉快的事情。答案就在算法和設計模式中。我們常說算法沒用,因爲我們開發中很少用現成的算法去做一些任務。但其實另外一個我們需要面對的情況是,面對複雜的業務邏輯,有的人能快速理清,有的人卻很頭疼。這就是邏輯力在起作用。所以,算法的作用其實就是塑造良好的邏輯能力,讓你在應對複雜問題時仍然能夠有簡潔的思維。這是困難的,因爲能套用地方並不那麼多。有的人可能不怎麼懂算法,也能寫出優質的代碼。因爲他們在長久的磨練中,已經具備了實現複雜邏輯的能力。至於如何磨練的,這就存在很大的個體差異,具有不可複製性。因此計算機學科依然是依靠算法來培養學生的標準化程序思維。對我而言,我能選擇的也是如此,通過算法的訓練來增強程序化思維,把這種思維套路儘可能地用到代碼實踐中去,去實現100行到1000行的轉變。
解決問題的技巧分析
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
智慧家庭場景的推薦系統的發展歷程和方向 | InfoQ《公開課》
InfoQ 中文站
2021-12-21 10:54:01
Alexa 全球排名網站將關閉,排名曾引爭議
辛晓亮
2021-12-14 14:53:55
Thinking Above Code:TLA+思維概述
李明昊
2021-12-07 17:23:58
你的2.6朵雲裏,會有火山引擎嗎?
张俊宝
2021-12-07 10:28:54
數字化轉型這麼火,你真的看懂了嗎?
张俊宝
2021-12-02 21:08:57
基於圖像的機器學習技術將數十億的電子商務產品分爲數千個類別
Celian Gossec
2021-11-29 16:28:50
如何用 PyTorch 構建 GAN?
a-ying Cheng
2021-11-23 11:18:54
繞過硬件瓶頸,成倍提升芯片算力,軟件層面深挖芯片性能可行嗎?
张俊宝
2021-11-23 11:18:54
App Annie發佈預測:TikTok 將達 15 億活躍用戶,遙遙領先 Instagram
闫园园
2021-11-19 19:53:55
不是隻有數字化水平高,纔可以落地知識圖譜
罗燕珊
2021-11-11 15:23:53
科大訊飛在AI源頭技術上的突破,實現系統性創新
Lucien
2021-11-08 15:13:57
不滿被辭退,一程序員寫爬蟲程序侵入公司後臺刪庫泄憤,造成經濟損失10餘萬元
刘燕
2021-11-08 14:03:51
“Trojan Source”算法漏洞幾乎影響所有代碼的安全
Brian Krebs
2021-11-05 18:33:59
谷歌前CEO發出警告:元宇宙對人類未必是好事,AI技術是“僞神”
凌敏
2021-11-02 14:03:53