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

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

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


一、知識儲備

1、數學

或許在很多人看來,學計算機用不到什麼數學,最多也就是一百以內的加減乘除,用在for循環、數組索引之類的上面。但其實不然,大部分人這樣覺得是因爲基本都工作在應用層,所以相對而言,用到的數學知識會比較少,也比較淺顯。
而當從應用層更深地學習研究時,就需要一定的數學能力了。

1)高等數學
在高數中我們學習到了重積分、級數等,這對於我們深入學習人工智能、學習圖像處理以及我們對我們的程序進行更進一步地優化都是很重要的。

2)離散數學
很多院校都把離散數學作爲計算機相關專業的必修課程,這是因爲離散數學裏面的圖論等知識對於我們深入學習計算機算法知識大有裨益。同時離散數學的邏輯學也是我們控制計算機所必須瞭解的內容。只有瞭解了這些我們才能更好地完成我們的程序。

2、計算機

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

2)彙編語言
彙編語言是一般程序員能爲機器編程的底層語言(現代的CPU/GPU還是會把指令再分解成微指令),所以學習彙編能讓程序員知道機器在軟件層面上的最底層操作。那麼,熟悉彙編後,可以更容易理解C/C++/OC這類語言如何在機器上執行。一些有經驗的程序員,看彙編時可以快速反映爲C/C++代碼。這些經驗和知識有很多好處: 
  • 性能優化:在設計及編碼中能考慮到底層的執行方式,從而編寫出高性能的代碼 
  • 深度調試:遇到一些崩潰火其他問題時,在沒有調試信息下也可以找到問題所在。有時候遇到編譯器本身的錯誤,單憑研究源代碼無法定位。 
  • 工具開發:可以實現AOT/JIT編譯、native調試器、內存/性能剖析工具等 
3)編譯原理
編譯原理蘊涵着計算機學科中解決問題的思路、抽象問題和解決問題的方法。編譯原理課程的學習有利於加深對程序語言的理解,可以幫助我們更加快速地掌握新的語言工具;課程中包含了很多軟件技術,程序設計語言編譯程序構造的基本原理和實現方法是軟件的核心技術之一。同時編譯原理中的詞法分析、語法分析等內容對自然語言處理領域有大用處,是計算機基礎。對模式識別(模式串的分析、匹配)、人工智能的學習也有幫助,對我們寫代碼、瞭解程序本質也有着舉足輕重的作用。

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

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

3、英語

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

二、信息檢索能力

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

三、獨立思考的意識

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

四、團隊協作意識

很多項目都不可能只由一個人來完成,很多時候我們都需要與其他人協作完成一些項目,因此團隊協作意識就必不可少了,這是一個優秀的程序員所必不可少的。如果你寫代碼很厲害,那隻能說你知識掌握得好,而不能把你稱爲一名優秀的程序員(就像一部分黑客,他們自己的實力很強但不善於團隊協作),而當你同時具有團隊協作意識並且能很好地進行團隊協作,那麼你就是一個優秀的程序員了。

五、好的編程習慣

1、習慣使用快捷鍵

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

2、習慣於寫註釋

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

3、習慣於數據備份

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

作者:耑新新,發佈於  博客園
轉載請註明出處,歡迎郵件交流:[email protected]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章