怎麼樣才能成為一個優秀的程式設計師?這是一個頗為奇怪的問題。怎樣才是一個優秀的軟體開發人員,在今天,你該怎樣發展你的職業生涯?以下是DevStore總結的優秀程式設計師必備十大習慣。按照這些技巧和規則,你可以改善你的現狀,由一個普通的程式設計師,成為一名優秀的程式設計師。
學會學習
就算是你有了10年以上的程式設計師經歷,你也得要不斷地學習,因為你在計算機這個充滿一創造力的領域,每天都會有很多很多的新事物出現。你需要跟上時代的步伐。你需要去了解新的程序語言,以及了解正在發展中的程序語言,以及一些編程框架。還需要去閱讀一些業內的新聞,併到一些熱門的社區去參與在線的討論,這樣你才能明白和了解整個軟體開發的趨勢。
掌握多種語言
程序語言總是有其最適合的領域。當你面對需要解決的問題時,你需要找到一個最適合的語言來解決這些問題。比如,如果你需要性能,可能C/C++是首選,如果你需要跨平台,可能Java是首選,如果你要寫一個Web上的開發程序,那麼PHP,ASP,Ajax,JSP可能會是你的選擇,如果你要處理一些文本並和別的應用交互,可能Perl, Python會是最好的。所以,花一些時間去探索一下其它你並熟悉的程序語言,能讓你的眼界變寬,因為你被武裝得更好,你思考問題也就更為全面,這對於自己和項目都會有好的幫助。
理性面對不同的作業系統或技術
程式設計師們總是有自己心目中無可比擬的技術和作業系統。只有一部分優秀的程式設計師明白不同作業系統的優勢和長處和短處,這樣,在系統選型的時候,才能做到真正的客觀和公正,而不會讓情緒影響到自己。同樣,語言也是一樣,有太多的程式設計師總是喜歡糾纏於語言的對比,如:Java和Perl。哪個剛剛出道的程式設計師沒有爭論去類似的話題呢?比如VC++和Delphi等等。爭論這些東西只能表明自己的膚淺和浮燥。優秀的程序並不會執著於這些,而是能夠理性的分析和理心地面對,從而才能客觀地做出正確的選擇。
別把自己框在單一的開發環境中
再一次,正如上面所述,每個程式設計師都有自己忠愛的工具和技術,有的喜歡使用像VC++一樣的圖形界面的調試器,而我更喜歡GDB命令行方面的調式器。等等等等。程式設計師在使用什麼樣的工具上的爭論還少嗎?到處都是啊。使用什麼樣的工具本來無所謂,只要你能更好更快地達到你的目的。但是有一點是優秀程式設計師都應該了解的——那就是應該去嘗試一下別的工作環境。沒有比較,你永遠不知道誰好誰不好,你也永遠不知道你所不知道的。
使用版本管理工具管理你的代碼
千萬不要告訴我你不知道源碼的版本管理,如果你的團隊開發的原始碼並沒有版本管理系統,那麼我要告訴你,你的軟體開發還處於石器時代。趕快使用一個版式本管理工具吧。使用什麼樣的版本管理工具依賴於你的團隊的大小和地理分布,你也許正在使用最有效率或最沒有效率的工具來管理你的原始碼。但一個優秀的程式設計師總是會使用一款源碼版本管理工具來管理自己的代碼。
做一個優秀的團隊成員
除非你喜歡獨奏,除非你是孤膽英雄。但我想告訴你,今天,可能沒有一個成熟的軟體是你一個人能做的到的,你可能是你團隊中最牛的大拿,但這並不意味著你就是好的團隊成員。你的能力只有放到一個團隊中才能施展開來。你在和你的團隊成員交流中有禮貌嗎?你是否經常和他們溝通,並且大家都喜歡和你在一起討論問題?想一想一個足球隊吧,你是這個隊中好的成員嗎?當別人看到你在場上的跑動時,當別人看到你的傳球和接球和搶斷時,你的團員成員能因為你的動作受到鼓舞嗎?
把你的工作變成文檔
這一條目當然包括了在代碼中寫注釋,但那還僅僅不夠,你還需要做得更多。有良好的注釋風格的代碼是一個文檔的基礎,他能夠讓你和你的團隊容易的明白你的意圖和想法。寫下文檔,並不僅僅是怕我們忘了當時的想法,而且還是一種團隊的離線交流的方法,更是一種知識傳遞的方法。記錄下你所知道的一切會是一個好的習慣。因為,我相信你不希望別人總是在你最忙的時候來打斷你問問題,或是你在休假的時候接到公司的電話來詢問你問題。而你自己如果老是守著自己的東西,其結果只可能是讓你自己長時間地深陷在這塊東西內,而你就更本不可以去做更多的事情。包括向上的晉升。你可能以為「教會徒弟能餓死師父」,但我告訴你,你的保守會讓你失去更多更好的東西,請你相信我,我絕不是在這裡聳人聽聞。
注意備份和安全
可能你覺得這是一個「廢話」,你已明白了備份的重要性。但是,我還是要在這裡提出,丟失東西是我們人生中的一部份,你總是會丟東西,這點你永遠無法避免。比如:你的筆記本電腦被人偷了,你的硬碟損壞了,你的電腦中病毒了,你的系統被人入侵了,甚至整個大樓被燒了,等等,等等。所以,做好備份工作是非常非常重要的事情,硬碟是不可信的,所以定期的刻錄光碟或是磁帶可能會是一個好的方法,網絡也是不可信的,所以小心病毒和黑客,不但使用軟體方面的安全策略,你更需要一個健全的管理制度。此外,儘量的讓你的數據放在不同的地方,並做好定期(每日,每周,每月)的備份策略。
設計要足夠靈活
可能你的需求只會要求你實現一個死的東西,但是,你作為一個優秀的程序,你應該隨時在思考這個死的東西是否可以有靈活的一面,比如把一些參數變成可以配置的,把一些公用的東西形成你的函數庫以便以後重用,是否提供插件方面的功能?你的模塊是否要以像積木一樣隨意組合?如果要有修改的話,你的設計是否能夠馬上應付?當然,靈活的設計可能並不是要你去重新發明輪子,你應該儘可能是使用標準化的東西。所謂靈話的設計就是要讓讓考慮更多需求之外的東西,把需求中這一類的問題都考慮到,而不是只處理需求中所說的那一特定的東西。比如說,需要需要的螢幕解析度是800×600,那麼你的設計能否靈活於其他的解析度?程序設計總是需要我們去處理不同的環境,以及未來的趨勢。我們需要用動態的眼光去思考問題,而不是刻舟求劍。也許有一天,你今天寫的程序就要移植到別的環境中去,那個時候你就能真正明白什麼是靈活的設計了。
不要搬起石頭砸自己的腳
程式設計師總是有一種不好的習慣,那就是總是想趕快地完成自己手上的工作。但情況卻往往事已願違。越是想做得快,就越是容易出問題,越是想做得快,就越是容易遺漏問題,最終,程序改過來改過去,按下葫蘆起了瓢,最後花費的時間和精力反而更多。欲速而不達。優秀程式設計師的習慣是前面多花一些時間多作一些調查,試驗一下不同的解決方案,如果時間允許,一個好的習慣是,每4個小時的編程,需要一個小時的休息,然後又是4個小時的編碼。當然,這因人而異,但其目的就是讓你時常回頭看看,讓你想一想這樣三個問題:1)是否這麼做是對的?2)是否這麼做考慮到了所有的情況?3)是否有更好的方法?想好了再說,時常回頭看看走過的路,時常總結一下過去事,會對你有很大的幫助。
本文內容整理自網絡, 文中所有觀點看法不代表淘大白的立場
Navicat是一個可多重連接的資料庫管理工具,它可以連接到MySQL.Oracle.PostgreSQL.SQLite.SQL Server和/或MariaDB資料庫,讓資料庫管理更加方便.Navicat下載次數已超過250萬次,客戶遍布138個國家,Navicat具備諸多的優勢,以下是用戶將Na ...
程式設計師最艱巨的任務跟編寫代碼沒有多少關係.編碼是邏輯思路的一種實踐,這跟程式設計師日常工作中的其它任務比起來相對簡單.如果你認為自己還是一個水平一般的程式設計師,在你真正的能進入到高手行列前,請確保你已經克服了下列晉級的障礙. 方法/步驟 解釋你在幹什麼 解釋軟體開發過程是一個很困難的事情.那些非程式設計師職業 ...
如何成為一名優秀的程式設計師?首先,你得寫得一手高質量的代碼.無論你是業餘的還是專業的程式設計師,正確的編程風格,不但有助於提升軟體產品的功能,還可以明顯減少軟體災難的產生.今天,我們就來探討一下有助於我們獲取更佳編程風格的一些最好的規則. 規則一:代碼的可讀性至上 代碼要能可閱讀和可理解,就需要格式化成一 ...
校園生活
作為程式設計師,價值的實現不是通過你知道些什麼來衡量,而是通過你做出的設計來衡量.雖然兩者之間存在聯繫,但並不相同.那麼,如何才能成為偉大的程式設計師? 方法/步驟 發現問題要及時解決 程式設計師在編寫代碼時,遇到真正的難題很少,也很少有專門做技術的公司.要想成為優秀的程式設計師,第一步就是要解決之前遇到過的難題. ...
每一個優秀程式設計師總有那麼幾款壓箱底的好貨,作為程式設計師多年,看到新入行的程式設計師小白東翻西找,我覺得有必須向他們說說程式設計師這一行該會的軟體,這樣也許會讓他們少走很多彎路. 工具/原料 Navicat Premium資料庫管理工具 http://pan.baidu.com/s/1nvMVjQx Beyon ...
進了小公司的程式設計師如何翻身進入大公司?這是很多在小公司顛簸流離多年感到疲憊的開發者都會關注的問題.本文將教你如何從小公司跳槽去大公司. 方法/步驟 [建立個人品牌] 持續在某個技術領域積累,建立個人品牌.當然這本身也是一件非常艱難的事,需要你個人有自主學習的能力和自我鑽研的精神,並且,要能夠自我驅動 ...
作為一個碼農,在碼農的世界跟不上潮流是傷不起的.寫代碼心如止水,但是此時此刻你應該准迎接新的天翻地覆.根據最新的報導表明,2013年碼農是最高薪的職業.為了成為碼農中的碼農,你必須了解並且準備好2013年... 作為一個碼農,在碼農的世界跟不上潮流是傷不起的.寫代碼心如止水,但是此時此刻你應該准 ...
俗話說:愛美之心人皆有之.人們對待美麗的看法幾乎是一致的,當然除此之外,人們對待財富的看法也大致相同,可以說,致富之心也是很多人都擁有的.不過生活中有很多人想致富,但是行為方面卻朝著相反的方向發展,尤其是一些習慣,對於致富沒有好處. 習慣 有助於致富的習慣:把錢用在投資方面,而不是豪車上面.豪車是一 ...
商業
10大基礎算法及講解 方法/步驟 快速排序算法 快速排序是由東尼·霍爾所發展的一種排序算法.在平均狀況下,排序 n 個項目要Ο(n log n)次比較.在最壞狀況下則需要Ο(n2)次比較,但這種狀況並不常見.事實上,快速排序通常明顯比其他Ο(n log n) 算法更快,因為它的內部循環(inner ...
學習java
1. 掌握多種語言.程序語言總是有其最適合的領域.當你面對需要解決的問題時,你需要找到一個最適合的語言來解決這些問題.比如,如果你需要性能,可能C/C++是首選,如果你需要跨平台,可能Java是首選,如果你要寫一個Web上的開發程序,那麼PHP,ASP,Ajax,JSP可能會是你的選擇,如果你要處理 ...
多讀一些好的書籍,無論是對於C++ 初學者還是進階者都是很有幫助的.尤其有助於這些開發者穩固編程基礎以及提高編程技能.在此,總結出了一個C++優秀書籍清單,為不同階段的C++程式設計師提供不同的學習技巧,希望對初學者入門以及有一定基礎者進階有一定的幫助. 方法/步驟 一階段: 1.<Essenti ...
我是一個充滿了激情的程式設計師,所以我覺得我很了解程式設計師.在這個領域耕耘了這麼多年,我和許多非常聰慧的人們接觸,他們編寫了具有創意的代碼,但是當其他人來維護這些代碼的時候,他們就很抓狂了! 工具/原料 能夠激勵程式設計師的最重要的一點就是他們的激情. 我們對於編寫良好的程序富有激情,所以我們整合了一個有11 ...
多讀一些好的書籍,無論是對於C++ 初學者還是進階者都是很有幫助的.尤其有助於這些開發者穩固編程基礎以及提高編程技能.在此,深圳達內C++培訓老師總結出了一個C++優秀書籍清單,為不同階段的C++程式設計師提供不同的學習技巧,希望對初學者入門以及有一定基礎者進階有一定的幫助. 一階段: 1.<Es ...
軟體開發中最艱巨的任務其實並不是代碼.寫代碼是一種鍛鍊,一種邏輯思維上的鍛鍊,相比於開發人員在日常工作中要執行的其他任務,它可顯得可愛多了.如果你覺得自己才剛剛跨入這個行業,只能算個業餘程式設計師,那麼為了確保能躋身專業領域,有些障礙你必須得克服-- 1.解釋做了什麼 解釋軟體開發過程是很讓人崩潰的一件 ...
在這個世界上,有數百萬的人熱衷於軟體開發,他們有很多名字,如:軟體工程師(Software Engineer),程式設計師(Programmer),編碼人(Coder),開發人員(Developer).經過一段時間後,這些人也許能夠成為一個 優秀的編碼人員,他們會非常熟悉如何用計算機語言來完成自己的工作 ...
一個人能否成功,取決於他的態度!成功人士與失敗者之間的判別是:成功人士始終有最熱誠的態度最積極的思考,最樂觀的精神和最輝煌的以經驗支配和控制自己的人生.失敗者則相反,他們的人生受人生的種種失敗.疑慮所引導支配.我們的態度決定了我們人生的成功 工具/原料 助你成功的十大習慣 助你成功的十大習慣 方法/ ...
文學
步驟/方法 1對老婆的態度會忽冷忽熱變化無常:讓老婆變得很敏感,以為自已做錯了什麼,或者以為丈夫在外面有了別的女人,如此這般,妻子怎耐得了這無言的折磨? 2唯老媽馬首是瞻:兒子聽老媽的這本無可厚非,即使成了家以後兒子也應該聽媽的.但這總應該有個限度,對的合理的才能聽!可有的老公卻不這樣,無論婆婆說對 ...
夫妻
想要學好語文則必須養成的十大習慣: 一.熟讀.背誦的習慣. 二.閱讀優秀課外讀物的習慣. 方法/步驟 三.推敲語言文學的習慣. 四.積累語言材料的習慣. 五.記曰記的習慣. 六.規範地書寫的習慣. 七.專注地聽人說話的習慣. 八.說普通話.說話文明得體的習慣. 九.勤思考.愛質疑的習慣. 十.勤查工 ...
耳聾會給人們造成極大的.甚至終生的痛苦.平時注意耳的保健,糾正不良習慣,對預防耳病.保持正常聽力,具有重要意義,以下是常見的10個不良習慣: 挖耳.俗話說:"耳不挖不聾",確實有一定的道理.因其可能造成耳道壁的損傷,嚴重的會傷及中耳和內耳,致使耳聾. 異物塞入耳道.家長應教育兒童 ...
與精神因素或者疾病因素導致的自殺相比,有很多生活中隱藏的慢性自殺風險卻被很多人忽略,如果你想懸崖勒馬,趕緊來看看吧! 生活中十大習慣堪比慢性自殺生活中十大習慣堪比慢性自殺 喝酒臉紅者繼續喝等於慢性自殺 很多人覺得自己應酬或者聚餐的時候一喝酒就臉紅顯得很"不行",但是南京市中西醫結 ...