1. 程式人生 > >淺談程序員該具備的自我修養

淺談程序員該具備的自我修養

相對 編寫 工作 技術 jit 一段時間 文件管理 .com com

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

一、知識儲備

1、數學

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

而當從應用層更深地學習研究時,就需要一定的數學能力了。

2、計算機

1)操作系統

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

2)匯編語言

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

  1. 性能優化:在設計及編碼中能考慮到底層的執行方式,從而編寫出高性能的代碼
  2. 深度調試:遇到一些崩潰火其他問題時,在沒有調試信息下也可以找到問題所在。有時候遇到編譯器本身的錯誤,單憑研究源代碼無法定位。
  3. 工具開發:可以實現AOT/JIT編譯、native調試器、內存/性能剖析工具等

3)編譯原理

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

4)數據結構

在計算機界流傳著這麽一個公式:程序 = 算法 + 數據結構,數據結構對我們的重要性不言而喻。數據結構記錄了我們如何對數據進行存儲,以及數據之間的關系,是我們的程序的基石。

5)數據庫

數據庫是數據管理的有效技術,是計算機科學的重要分支。現如今,信息資源已成為各個部門的重要財富和資源,因此作為信息系統核心和基礎的數據庫技術受到越來越廣泛的應用,越來越多的應用領域采用數據庫技術來存儲和處理信息資源。特別是隨著互聯網的發展,廣大用戶可以直接訪問並使用數據庫,例如網購。數據庫已經和我們密切相關,我們開發過程中更加離不開數據庫的使用。

3、英語

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

二、信息檢索能力

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

三、獨立思考的意識

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

四、好的編程習慣

1、習慣使用快捷鍵

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

2、習慣於寫註釋

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

3、習慣於數據備份

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

作者:耑新新,發布於 博客園

轉載請註明出處,歡迎郵件交流:[email protected]

淺談程序員該具備的自我修養