好程序員應該擁有的7個特質

一個好的程序員應該擁有的10大特質,你符合哪些呢?

4418040-6be13f6ccfe53b0c

1、喜歡研究

????無論你怎么稱呼它,你可能遇到的大多數編程問題幾乎在一定形式上都已經被解決了。傳道書早就記錄在案,陽光底下無新事。在GitHub上的庫文件列表中,在互聯網上的博客中,或者恰好與某個人經驗交流中,好的程序員知道要在解決一個問題之前先做研究。

4418040-1ba0d82a29ec967e

2、讀錯誤信息

????這包括對堆棧追蹤的符號解析。是的,令人厭惡而且不幸——但如果你不愿意這么做,怎么知道哪里出錯了?我知道的最高效的程序員不害怕深入挖掘問題。最低效的程序員看到錯誤甚至都不愿讀錯誤信息。(這聽起來挺可笑的,但我遇到的頻率會讓你吃驚。)

????更進一步說,好的的程序員看到問題,會急迫的去解決它。對于他們來說,讀錯誤信息僅僅是第一步;他們渴望深入問題并找出錯誤的根源。他們對推卸責任沒有興趣,他們對找到解決方案有興趣。問題確實在他們這里止步。

4418040-91a52797d8a139bd

3、查看源代碼

????文檔,測試和人:這些都可能會說謊。未必是故意撒謊,但是如果你想確切的知道代碼是怎么工作的,你就必須親自察看源代碼。

  即使這不是你非常熟悉的語言也不要害怕——比如,如果你主要是一個Ruby程序員并且你懷疑Ruby的C語言包里有錯誤,那就去解壓它看看再說。不錯,你可能會一無所獲。但是誰知道呢,你也可能會找到問題所在,比起什么都不做,你至少選擇了一條更有機會的路。

????如果你工作在一個非開源的環境中,就不太好辦了,這很不幸,不過道理是不變的。糟糕的程序員對查看源碼通常沒有太多興趣,結果就是,跟那些愿意去研究一下源碼的人相比,他們通常會被這些問題困擾的更久。

4418040-2805e95e13f01ac2

4、很強的執行力

  好的程序員總是趨向于采取行動。他們似乎有種控制不住的強迫性——一旦他們確認了一個問題或者看到了一個新的特性需求,就會立即著手解決,有時甚至過早或者過于勇往直前。他們遇到問題的直覺反應就是正面解決它。

  有時這會帶來麻煩——但是他們的熱情正是他們能夠做的很好的關鍵因素。當某些人還在拖延回避或者幻想問題能自己消失的時候,好的程序員已經開始動手了。

 更簡單的來說(也許,太過直白),如果你看到一個人興奮的發現并處理問題,很有可能你得到了一名好程序員。

4418040-317d96ad9b1813b2

5、防患未然

  這可能是一個壞的程序員的特征——他們總是糾纏于一個又一個的人為失誤,從來都是沒有明白上一個就轉向下一個。他們總是在抱怨他們程序中的錯誤部分,卻耗費數小時對完美運行的代碼來debug。他們讓情緒占據主動,相信直覺而不是仔細明確的分析。

????如果你突然遇到一個問題——或者每一個問題看起來都像是世界末日一般,你極有可能是在犯錯誤而不是在解決潛在的問題。偉大的程序員會花費一些時間來了解是什么出了錯,哪怕是真的是一場災難,除了這些,他們還會把常出現的問題當成分配任務來處理掉。由于他們能更精確的解決大部分問題,從而不會提高你的團隊的緊張程度。

4418040-7740e03268decff1

6、善于和身邊的人交流

  說到底,編程也是一種交流的方式。能夠簡潔明了地表達出你的觀點之于寫代碼就如其之于寫詩一樣重要——長久以來,我發現那些能夠寫出精煉的電子郵件、優雅的報告或者僅僅是高效的備忘錄的人通常也會是更優秀的程序員。

????這個發現對寫程序和對英語一樣使用。當然,把充斥著括號和只用一個字母命名的函數寫在一行里面也是可以的,但是如果沒有人能夠理解你寫的代碼,又有什么意義呢?無論使用什么媒介,優秀的程序員會把時間花在如何將他們的觀點更好地表達出來上面。

4418040-753f987828321347

7、對工作充滿激情

  我想這是最能夠體現一個好的程序員的地方(并且,不僅在計算機行業,這點適用于任何行業)。

如果你真正關心你做的東西——不只是把它當做一個工作去應付,而是一個興趣、一件對你有著莫大魅力的事情,那么在這個行業里,相較于其他人而言,你就擁有了一項巨大的優勢。好的程序員會一直保持著寫代碼的狀態,他們每天花在這個行業里的時間都不低于8個小時——包括工作和空余時間。在編寫項目和授業解惑兩者之間,他們不會偏向任何一方。他們不會只是為了搞清楚某個東西的工作原理而整天癡迷于新技術或新的編程語言。

????當我觀察一個周日正在做自己感興趣的項目、在創造自己需要的工具、被新的、有趣的事物吸引的程序員的時候,我意識到我正在觀察一個會令所有人都不由自主心生敬意的人。最后,偉大的程序員不會將他們的專業看做賺錢的工具,而是一種改變世界的手段。我想這就是早就一個偉大程序員的真正原因吧。編程,對于他們來說也就意味著創造世界。也只有這樣的人,才值得我們由衷地敬佩和景仰。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/272029.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/272029.shtml
英文地址,請注明出處:http://en.pswp.cn/news/272029.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

最大全零子矩陣

【題目描述】在一個0,1方陣中找出其中最大的全0子矩陣&#xff0c;所謂最大是指0的個數最多。 【輸入描述】輸入第一行為整數N&#xff0c;其中1<N<2000&#xff0c;為方陣的大小&#xff0c;緊接著N行每行均有N個0或1&#xff0c;相鄰兩數間嚴格用一個空格隔開。 【輸出…

微機原理換行代碼_設置段落樣式的標記中,用來換行的標記是:

【判斷題】( )經檢驗,收退貨品為良品,退貨上架員用RF終端設備掃描,并根據指示進行良品入庫作業。【單選題】Web of Science中,SAME算符()。【多選題】在進行人員培訓時必須考慮的事項有( )。【單選題】在PubMed-MeSH檢索界面中,輸入檢索詞tongue cancer,點擊“Search”,查詢結果…

谷歌瀏覽器添加插件時顯示程序包無效:CRX_HEADER_INVALID 解決辦法

在添加谷歌插件的時候&#xff0c;發現谷歌瀏覽器顯示 程序包無效&#xff1a;"CRX_HEADER_INVALID" 解決方法如下&#xff1a; 下圖是下載好的 .crx 結尾的插件。 將插件的后綴名改為.rar &#xff0c;如下圖。 解壓 接下來就是瀏覽器添加插件&#xff0c;打開到瀏…

推薦VSCode12個比較實用的插件

1、Auto Rename Tag?——自動重命名成對的HTML標記。假如你創建了一個<p>標記。現在你想更改它。有了這個軟件&#xff0c;你只需要更改一個就行&#xff0c;另一個會自動修改。從理論上來說&#xff0c;使用這個軟件可以把你的工作效率提升一倍。2、HTML CSS Support?…

[單選題]$array = array('a','b','c','d'); $array_now = array_splice($array,2); print_r($array_now);...

Array ( [0] > c [1] > d ) Array ( [0] > a [1] > c ) Array ( [0] > b [1] > d ) Array ( [0] > a [1] > b )PHP array_splice() 函數 PHP Array 函數 實例 從數組中移除元素&#xff0c;并用新元素取代它&#xff1a; <?php $a1array("a&q…

圖論解油瓶分油問題_一個很有趣的de novo圖論算法

首先&#xff0c;小編先給大家介紹一些關于組裝的歷史。大家肯定也知道&#xff0c;這個組裝技術的發展是依賴于測序技術的。首先在一代測序的時候&#xff0c;測序數據量較少&#xff0c;成本較高&#xff0c;人們對于組裝的結首先&#xff0c;小編先給大家介紹一些關于組裝的…

pip show pip可以查看pip的版本以及升級pip到最新版本

輸入命令&#xff1a;pip show pip可以查看pip的版本&#xff0c;如果不是最新版最后會有提示如下&#xff1a; 輸入命令&#xff1a;python -m pip install --upgrade pip可以升級pip到最新版本。

盤點程序員開發遇到的30個問題

1、我不知道該刪掉還是重寫回歸曾經寫的源代碼&#xff0c;總有一種想要重新返工的沖動&#xff0c;邏輯性差&#xff0c;冗余代碼多&#xff0c;讓人難以理解。但是&#xff0c;如果功能沒出現問題&#xff0c;千萬不要去修改。這是我經常要面對的困擾&#xff0c;相信也困擾了…

20159320《網絡攻防實踐》第5周教材總結

web應用程序安全攻防 應用程序體系結構以及其安全威脅 1、三層架構&#xff1a;表示層、業務邏輯層和數據層 2、體系結構&#xff1a;瀏覽器、web服務器、web應用程序、數據庫、傳輸協議HTTP/HTTPS 3、web應用安全威脅&#xff1a;針對瀏覽器和終端用戶的web瀏覽安全、針對傳輸…

saas是什么意思_為什么越來越多的人選擇SaaS模式的crm客戶管理系統?

SaaS近幾年在國內逐漸升溫&#xff0c;很多企業管理者都開始了解SaaS是什么意思&#xff0c;SaaS是企業根據需要&#xff0c;從SaaS提供商獲取軟件使用權的&#xff0c;直接通過互聯網就可進行操作。對于我國大多數中小企業來說&#xff0c;選擇SaaS模式的crm客戶管理系統也許是…

趣漫揭秘!中國程序員生存現狀?

如果沒有程序員&#xff0c;整個虛擬世界都會消失不見。全中國7億多網民&#xff0c;再也不能愉快滴發自拍&#xff0c;看視頻&#xff0c;打游戲&#xff0c;甚至連打電話都成了一種幻想。絕大部分電子設備都會變成廢鐵&#xff0c;人類的生活將完全倒退到70多年以前。程序員貢…

一個App完成入門篇(五)- 完成新聞頁面

本節教程將介紹如何用DeviceOne簡單而高效的完成一個新聞頁面。 導入項目數據模板分離MVVM模型自定義事件展示新聞九宮格展示將要學習的demo效果圖如下所示 1. 導入完整項目 本節示例demo請參考下載地址&#xff0c;可以導入到設計器中學習。 為了方便大家理解頁面結構&#xf…

程序員職業規劃

每個程序員的職業生涯無非以下幾種情況&#xff1a;一、幫別人掙錢&#xff08;打工&#xff09;不管你是剛入職的小兵&#xff0c;還是管人的經理&#xff0c;甚至是唬人的總監&#xff0c;都屬于這一階段。通常程序員在這一階段的職業發展分兩條線&#xff0c;專家&#xff0…

python getattrribute_python操作對象屬性

getattrgetattr(a,b)的作用就和a.b是一樣的。那么這個內建函數有什么作用呢&#xff0c;最方便的無疑是使用它來實現工廠方法(Factory Method)模式。參數說明&#xff1a;object&#xff1a;對象的實例name&#xff1a;字符串&#xff0c;對象的成員函數的名字或者成員變量defa…

電腦處理器i5和i7的區別,如何選擇?

對于好多正在準備入手筆記本的朋友們來說&#xff0c;電腦的配置參數真的是讓人眼花繚亂&#xff0c;一些看不懂的數字和英文碼看得人心煩&#xff0c;i5和i7的區別究竟在哪里那&#xff1f;處理器中央處理器&#xff08;英文Central ProcessingUnit&#xff0c;CPU&#xff09…

c++ map的存儲結構_「軟帝學院」java集合類框架map及相關常見問題二

Map接口 通過查看Map接口描述&#xff0c;發現Map接口下的集合與Collection接口下的集合&#xff0c;它們存儲數據的形式不同&#xff0c;如下圖。 Collection中的集合&#xff0c;元素是孤立存在的(理解為單身)&#xff0c;向集合中存儲元素采用一個個元素的方式存儲。 Map中的…

Windows 下 Conda install 安裝出現CondaHTTPError: HTTP 000 CONNECTION FAILED for url解決措施

在使用Conda install 安裝庫的時候出現以下錯誤 原因是使用的是國外的鏡像&#xff0c;切換至國內鏡像就可以解決啦 在cmd 中輸入下面命令 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes…

盤點谷歌瀏覽器9項隱藏的實用功能

谷歌 Chrome 瀏覽器一直以速度、簡潔和安全為用戶所熟知。除此之外&#xff0c;Chrome 的其他功能也非常強大&#xff0c;為了進一步提高工作效率&#xff0c;讓我們一一揭曉它的那些隱藏技能吧。1、同時登入多個賬戶用戶擁有多個谷歌賬戶&#xff08;工作用或個人用&#xff0…

正則10-18

轉載于:https://www.cnblogs.com/XACOOL/p/5357652.html