正文

 各行各業(yè)的工作者,都有其要求,那么作為程序員,我們又該具備哪些素養(yǎng)呢?博主在這里淺談個人看法,如有不當之處,請大佬們指正。

回到頂部

一、知識儲備

1、數(shù)學

或許在很多人看來,學計算機用不到什么數(shù)學,最多也就是一百以內(nèi)的加減乘除,用在for循環(huán)、數(shù)組索引之類的上面。但其實不然,大部分人這樣覺得是因為基本都工作在應(yīng)用層,所以相對而言,用到的數(shù)學知識會比較少,也比較淺顯。

而當從應(yīng)用層更深地學習研究時,就需要一定的數(shù)學能力了。

2、計算機

1)操作系統(tǒng)

操作系統(tǒng)(OS)是配置在計算機硬件上的第一層軟件。是對硬件系統(tǒng)的首次擴充。所有編程語言的開發(fā)以及應(yīng)用程序的運行,都直接依賴于操作系統(tǒng)的支持。文件系統(tǒng)。進程等桌面編程中的場景大都來源于操作系統(tǒng)的定義和概念。因此完整地了解操作系統(tǒng)的起源和組成以及運行邏輯,對多線程、復(fù)雜界面、文件管理以及一些難以正常理解編程思路等開發(fā)中遇到的場景,有非常大的幫助,不僅幫助理解,也能掌握更多有效的程序?qū)懛ā?/p>

2)匯編語言

匯編語言是一般程序員能為機器編程的底層語言(現(xiàn)代的CPU/GPU還是會把指令再分解成微指令),所以學習匯編能讓程序員知道機器在軟件層面上的最底層操作。那么,熟悉匯編后,可以更容易理解C/C++/OC這類語言如何在機器上執(zhí)行。一些有經(jīng)驗的程序員,看匯編時可以快速反映為C/C++代碼。這些經(jīng)驗和知識有很多好處: 

  1. 性能優(yōu)化:在設(shè)計及編碼中能考慮到底層的執(zhí)行方式,從而編寫出高性能的代碼 

  2. 深度調(diào)試:遇到一些崩潰火其他問題時,在沒有調(diào)試信息下也可以找到問題所在。有時候遇到編譯器本身的錯誤,單憑研究源代碼無法定位。 

  3. 工具開發(fā):可以實現(xiàn)AOT/JIT編譯、native調(diào)試器、內(nèi)存/性能剖析工具等 

3)編譯原理

編譯原理蘊涵著計算機學科中解決問題的思路、抽象問題和解決問題的方法。編譯原理課程的學習有利于加深對程序語言的理解,可以幫助我們更加快速地掌握新的語言工具;課程中包含了很多軟件技術(shù),程序設(shè)計語言編譯程序構(gòu)造的基本原理和實現(xiàn)方法是軟件的核心技術(shù)之一。同時編譯原理中的詞法分析、語法分析等內(nèi)容對自然語言處理領(lǐng)域有大用處,是計算機基礎(chǔ)。對模式識別(模式串的分析、匹配)、人工智能的學習也有幫助,對我們寫代碼、了解程序本質(zhì)也有著舉足輕重的作用。

4)數(shù)據(jù)結(jié)構(gòu)

在計算機界流傳著這么一個公式:程序 = 算法 + 數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)對我們的重要性不言而喻。數(shù)據(jù)結(jié)構(gòu)記錄了我們?nèi)绾螌?shù)據(jù)進行存儲,以及數(shù)據(jù)之間的關(guān)系,是我們的程序的基石。

5)數(shù)據(jù)庫

數(shù)據(jù)庫是數(shù)據(jù)管理的有效技術(shù),是計算機科學的重要分支。現(xiàn)如今,信息資源已成為各個部門的重要財富和資源,因此作為信息系統(tǒng)核心和基礎(chǔ)的數(shù)據(jù)庫技術(shù)受到越來越廣泛的應(yīng)用,越來越多的應(yīng)用領(lǐng)域采用數(shù)據(jù)庫技術(shù)來存儲和處理信息資源。特別是隨著互聯(lián)網(wǎng)的發(fā)展,廣大用戶可以直接訪問并使用數(shù)據(jù)庫,例如網(wǎng)購。數(shù)據(jù)庫已經(jīng)和我們密切相關(guān),我們開發(fā)過程中更加離不開數(shù)據(jù)庫的使用。

3、英語

很多人覺得計算機編程不需要很多英語知識,所以覺得英語就不重要,博主認為這觀點有失偏頗。雖然我們在編碼過程中所使用的英語很少,但我們?nèi)詰?yīng)該學好英語。首先,目前很多的資料原版都是英文的,而翻譯過來的有相對一部分和原版相差比較大(當然,也有一部分翻譯的還是不錯的)。其次,隨著經(jīng)濟全球化的發(fā)展,我們難免需要與外國人打交道,日常溝通、合作等,這都需要我們有一定的英語能力。

回到頂部

二、信息檢索能力

我們在學習、生活、工作中,都需要檢索一些信息,如果我們有比較好的檢索信息的能力,那就可以大大提高我們的檢索效率,讓我們更好更快地完成我們要做的事。

回到頂部

三、獨立思考的意識

在我們的身邊,有一部分人總是期待別人幫他做好一些事情。每次遇到困難,第一時間不是自己想辦法解決,而總是找別人幫忙。這樣的人,缺乏獨立思考的意識,很難成長起來。獨立思考的意識,是指當我們遇到問題時能獨立思考,自己尋找解決方式而不是一味地靠他人,這說起來簡單,做起來卻并非那么簡單。

回到頂部

四、好的編程習慣

1、習慣使用快捷鍵

快捷鍵可以幫助我們更快更好地進行編碼,可以提高我們的編碼效率,如果可以使用快捷鍵代替所有的鼠標操作,想想那會為我們提高很多效率。

2、習慣于寫注釋

很多人不愿意在編碼過程中寫注釋,總覺得這是浪費時間的事情。事實上,寫注釋是很好的習慣,可以幫助我們在經(jīng)過很長一段時間再去看代碼時能夠更快地看懂那些代碼,同時也方便別人去讀我們寫的代碼,畢竟很多開發(fā)中不僅僅是一兩個人進行開發(fā),是需要團隊合作的。

3、習慣于數(shù)據(jù)備份

“永恒之藍”相信給很多人留下了深刻的印象,很多人的數(shù)據(jù)因此丟失了。但如果經(jīng)常進行數(shù)據(jù)備份,那么在面臨這樣的問題時,就能減少我們的損失。同時,計算機作為電器,拋錨也是很普遍的事情,如果做好了備份,也可以幫助我們在計算機出故障時,減少不利影響的產(chǎn)生。

http://www.cnblogs.com/Amedeo/p/7100365.html