用c++進行開發要學到什麼程度,需要什麼知識最小集呢,當然要根本目標問題的不同決定不同的複雜度,但語言和工具級的複雜度都是一樣的那麼真正要掌握c++進行開發,你需要掌握那些語言級和庫級的知識呢
1,至少熟練乙個ide,make,install,,除錯,等編譯技術,能在編譯期出現錯誤的時候能搞明白基本的i關於de環境配置的錯誤。
2,在語言級和庫級要明白的就多了出去,比如對stl理念和當中每個lib的理解,對指標進行理解才能明白諸如函式指標,指標當返回值以返回乙個陣列等機制,當然還有很多很多c++的慣用法,等等,這是主體部分,注意我這裡說的是會用,人們可以不懂stl原理和任何實現卻照樣可以拿來熟練使用的人大有人在。
3,要明白你使用的第三方庫的一些知識,要了解它們oo 的架構,乙個字,要達到一種能用c++使用它們的介面的能力就夠了,這就是oo語言宣傳它們的資本..又一次,你只會使用就夠了,不必懂得庫的oo架構,,你需要了解它們透出來供你使用的粗略架構模型和介面就行。
4,在復用方面,要明白設計的一些知識,知道oo,gp這樣基本思想,知道你的應用大家都用oo作了什麼設計,你所使用的庫用了什麼樣的封裝上的設計.oo並不僅僅是封裝,封裝是為了復用,,因此oo最終就是為了復用,封裝只是中間過程..就像介面並非用來封裝一樣,而是用來抽象,,一切都是抽象..
5,在開發自己的庫和邏輯方面,要明白應用域的一些知識,這樣在設計時就能知道要構建什麼樣的架構.用什麼模式來設計等等,用什麼語言細節來實現,等等。
6,要盡量熟悉以上,多練手,才能快速打出**,,,,要記住,這個過程很自然,,就像你學好了英語的語法,再多看了一些英語的文章,那麼你就可以寫出英語文章來了.一切都是習慣用法,和語法遊戲,,,
除此之外,程式設計中其它的一切就是設計問題,而不是編碼問題了,,,設計的問題是其它領域的問題,比如演算法設計,,而不是編碼問題(有些書用雞免同籠這樣的問題來放在c語言的書,這對學習c語言本身的語言機制如流程控制有意義,數學問題的複雜性只對研究演算法有用,對解釋c語言本身無任何作用,而演算法是設計通用的,不跟語言相關)一切在於多看,多寫!一開始不要寫邏輯和架構過大的邏輯,在懂得設計時就可以接確了.設計本不存在?當你快速寫**時你根本不會覺得設計的存在,,這是因為編碼就是一種習慣,而設計就是一種關於要寫出什麼樣的邏輯的設想,用什麼編碼方法來體現,,,設計就是對編碼進行控制和計畫,,這裡就是編碼跟設計的關係,,難的不是編碼,因為所有人都可以學會語法,學會寫作習慣,,,但是設計樣的文章卻千差萬別.設計不僅是演算法設計,而且是復用設計。
用Traits進行介面開發
在開發科學計算程式時,我們希望快速實現乙個夠用的介面,讓使用者能夠互動式的處理資料,而又不希望在介面製作上花費過多的精力。以traits為基礎 以model view controller為設計思想的traitui庫就是實現這一理想的最佳伴侶。1.1 安裝wxpython traits依賴於wxpy...
用Eclipse 進行Vue開發
參考文件 eclipse安裝codeminx 外掛程式 之後eclipse提示要安裝eslint,在工程目錄下d workspace lajifenlei garcol wx 下執行npm install eslint eclipse介面ctrl alt t 即可開啟終端 終端中輸入 npm ins...
用Python進行Web開發
web開發有兩大基礎 http協議在web領域的重要性不必贅述,這樣乙個重要的概念,如果交給開發者去實現,且不談程式設計,單是看懂龐大的協議,就會花掉大量的時間。好在我們意識到,實現協議的工作,顯然是可重複利用的。可重複利用的http協議實現,被封裝在python庫里,就有了python進行web開...