1. 程式人生 > >看了很多程式碼,自己寫卻無從下手?

看了很多程式碼,自己寫卻無從下手?

昨天發現一個好玩的小程式給贊問問,收到幾個具有代表性的問題,在這裡和大家分享一個。

軍哥,最近在學Django,也有在做小密圈的Django專案,但是怎麼說呢?看大部分都能懂,但是要自己著手個專案,就無從下手

這個問題就跟「道理都懂,卻依然過不好一生」如出一轍。

學程式設計跟游泳很像,都是手藝活,重在實操。

第一步:學習基本理論知識

第二步:看別人怎麼遊,前兩步相對簡單,只要聽,只要看

第三步:自己下水,這個步驟很痛苦,你要在水裡面不斷掙扎、拍打、被水嗆、喝無數口水,甚至耳朵、鼻子、眼睛都進過水,過程很艱難,但堅持下來結果很美好。學程式設計也一樣。

從不會到會需要一個過程,不斷嘗試、不斷實踐、不斷練習,如果你問我有捷徑沒有,真沒有,但是有方法。

正確的方法是要善於分解問題,把大問題化小,小問題化了。學過演算法的都知道,有一種二分查詢,就是不斷地縮小問題的求解,要從一堆大資料裡面查詢最小值,先把這堆資料分成兩份,再從包含最小值的一份中又拆分成兩份,最終化解到從3個值裡面查詢。

同樣的道理,拿咱們在知識星球的實戰專案來說,一個完整的論壇包含很多功能,那我們可以把問題一個個拆分,化解成n個小功能,比如核心功能是發帖。

發帖的話,首先我們要設計領域模型,一個帖子包含有哪些東西呢?你就要去思考分析,它可能有標題,有內容,還有釋出時間,我們就只考慮這三個東西。

確定了模型時候,你就可以設計 models 了,再使用 Django 的資料遷移功能將資料庫表建立好,然後就要寫檢視 view 函式,在檢視函式中的任務就是接受瀏覽器提交的表單資料,然後儲存,所以你還需要定義一個包含有標題、內容的 form 表單,表單設計好之後,你就要開始寫模板頁面了,模板很簡單,只需要包含有標題和內容欄位的form表單就行,最後就是設計URL路由規則,訪問哪個URL可以訪問到該模板頁面。一整套邏輯就出來了。

剩下的只是細節問題,問題越清晰就越能得到答案,最痛苦的是你自己都不知道你遇到的是什麼問題,當然別人也無從幫助你。

說了這麼多,關鍵點在於先把問題確定,然後再細化問題,逐步解決每一個小問題,各個擊破。至於先解決什麼就解決什麼,沒有嚴格的先後順序,根據自己的思路決定。

wenwne.PNG

還補充一個事情,上次的贈書活動,恭喜以下朋友:

  • uranuday
  • M-in
  • 石頭
  • Halo(凱朋)
  • 海銘威
  • 若 然。
  • 呂坤
  • 小虎牙
  • 說好的節操呢
  • zhangzihao

請以上朋友本週內將聯絡方式發給我,沒發的就把機會就讓給後面的人啦。


關注公眾號「Python之禪」(id:vttalk)獲取最新文章 python之禪