編程認知1

關注層次觀念

目的不同,關注的維度不同
開發時就要用別人高度封裝好的工具
基礎學習時就要自己寫一些基本的工具,代碼·
是兩條路: 實際開發時,關注層次越高越好,就要用高度封裝的東西,因爲目的是現實做出來東西,怎麼高效,怎麼省勁怎麼來
學習時(本科階段),要逐步提高關注層次, 適當學習瞭解底層的邏輯, 或者從高層次來降維打擊低層次,理解低層次就比較容易了
經典坐飛機不需要知道怎麼造飛機

但是也慢慢發現,關注的層次越高,獲得的成就感/金錢收入越高,比如架構師主要負責軟件建模而較少具體編程
如果越底層越高級,那大家都去用匯編,都去做嵌入式好了

在這裏插入圖片描述
在這裏插入圖片描述
封裝的意義, 也是劃分層次的意義。 不去關注底層的瑣碎實現,直接進行創造性的工作,最大限度上享受獨立實現的編程快樂

這也就是封裝的全部意義,提高自己關注層次,聚焦於頂層實現,才能創造更高的價值。不重複造輪子,站在前人的肩膀上前進

要開發前端,就聚焦於語言的學習,而不是糾結於安裝插件,直接用最重量的IDE,

工具選擇觀

以後使用工具的原則: 只用開箱即用的,只用重量級的,只用封裝好的, 別折磨自己好嗎
重量級=開箱即用=方便
輕量級=啥都要自己安裝=啥都要調試配置=浪費時間
有python別用c
有pycharm,intellij(intelligence)別用vscode, eclipse
有Django別用Flask
有windows圖形界面別用linux

以後我就是jetbrain腦殘粉, IDE, 我只用jetbrain
c_cpp是c語言編譯器
集成開發環境(IDE,Integrated Development Environment ) 偏向於工程,啥都給你配置好了,省事
編輯器,就是記事本

優化思想:

數據結構與算法很難一下就給出最優解, 一般都是先給出暴力解(只要能滿足需求就行,完全不考慮時間空間複雜度),然後慢慢拓展思維優化

學習資料觀:

輕量級爲主(快速入門,快速上手),重量級材料爲輔助大綱(作爲字典,需要深入瞭解時再翻閱)

語言實現的理解

軟件建模,算法思想這些抽象宏觀的東西, 要用語言實現出來,這個將思想翻譯爲代碼的過程,考察的就是對語言的掌握能力,就要求至少對一門語言極其熟練
這就是爲什麼學數據結構與算法理解思想後,寫的代碼總是出錯跑不起來,就是因爲對C語言的理解/掌握程度太淺
在這裏插入圖片描述

四層模型新理解

1.編程思想:js,java 一切皆對象(連基本的數據類型也是對象 數組,字符串,dom, window)
2.語言特性: 語言的高級用法通常能體現出語言的核心特點—見開會視頻:python修飾器等
鍛鍊基本編程能力(學java,寫個金字塔寫不出來,fw)–基本編程能力其實是五層中的第二層的設計實現能力, 見之前C語言的for循環使用的總結(for循環是一個很複雜的邏輯思考過程)
java的核心性質-商業語言, 就要求嚴謹,所以關鍵字多,各種規範限制
python敏捷開發,關鍵字少 簡明
3.框架:工程化一件事 前後端分離就建立在前端工程化的基礎上(vue), 依據設計模式來提供一個設計的整體思路
4.第三方包: 功能實現。 不要做調包師(麻木的抄博客實現功能),鍛鍊閱讀官方文檔的能力, 查,想別人問什麼這麼寫,這麼做是幹了什麼. 如使用allauth, 就把它搞明白,每一步幹了什麼,什麼樣一個機制

前端要自己設計(PPT畫出來,自己想怎麼設計,導航欄長什麼樣,有什麼內容):自己寫html骨架, 然後可以用bootstrap的css樣式
至少要實現組件化開發,而不是直接CV前端模板改數據
自己設計好後,找組件來實現自己的設計。 自己的設計這一步很重要,而不是用別人設計好的東西
這就是避免成爲調包俠的學習方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章