2020年,哪些習慣可以讓你成為優秀程式設計師?

2020-12-17 雲和數據

在這個世界上,有數百萬的人熱衷於軟體開發、網站開發,他們有很多名字,如:軟體工程師(Software Engineer)、程式設計師(Programmer)、編碼人(Coder)、開發人員(Developer)等等。經過一段時間後,這些人也許能夠成為一個優秀的編碼人員,他們會非常熟悉如何用計算機語言來完成自己的工作。

但是,如果你想要成為一個優秀的程式設計師,你還可以需要注意幾件事,比如將下面這個條目作為你的習慣,那麼你才能真正算得上是優秀的程式設計師。

01

學無止境

就算是你有了10年以上的程式設計師經歷,你也得要使勁地學習,因為你在計算機這個充滿一創造力的領域,每天都會有很多很多的新事物出現,因此你需要跟上時代的步伐。

你需要去了解新的程序語言,以及了解正在發展中的程序語言,以及一些編程框架。還需要去閱讀一些業內的新聞,併到一些熱門的社區去參與在線的討論,這樣你才能明白和了解整個軟體開發的趨勢。

你可以關注一些國內著名的社區,例如:CSDN,ITPUB,CHINAUINX等等,或者你也可以經常上一上digg.com去看看各種BLOG的聚合。

02

掌握多種語言

程序語言總是有其最適合的領域。當你面對需要解決的問題時,你需要找到一個最適合的語言來解決這些問題。比如,如果你需要性能,可能C/C++是首選,如果你需要跨平臺,可能Java是首選,如果你要寫一個Web上的開發程序,那麼PHP、ASP、JSP可能會是你的選擇,如果你要處理一些文本並和別的應用交互,可能Perl、Python會是最好的。

所以,花一些時間去探索一下其它你並熟悉的程序語言,能讓你的眼界變寬,因為你被武裝得更好,你思考問題也就更為全面,這對於自己和項目都會有好的幫助。

03

理性面對不同的作業系統或技術

程式設計師們總是有自己心目中無可比擬的技術和作業系統,有的人喜歡Ubuntu,有的人喜歡Debian,還有的人喜歡Windows,以及FreeBSD,MacOSX或Solaris等等。只有一部分優秀的程式設計師清楚了解不同作業系統的長處和短處,也只有全面了解之後,才可以在系統選型的時候,做到真正的客觀和公正,而不會讓情緒影響到自己。

同樣,語言也是一樣,有太多的程式設計師總是喜歡糾纏於語言的對比,如:Java和Perl。哪個剛剛出道的程式設計師沒有爭論去類似的話題呢?比如VC++和Delphi等等。爭論這些東西只能表明自己的膚淺和浮燥。優秀的程序並不會執著於這些,而是能夠理性的分析和理性地面對,從而才能客觀地做出正確的選擇。

04

別把自己框在單一的開發環境中

正如上面所述,每個程式設計師都有自己忠愛的工具和技術,有的喜歡老的(比如我就喜歡Vi編輯程序);有的喜歡新的比如gedit或是Emacs等;有的喜歡使用像VC++一樣的圖形界面的調試器,而我更喜歡GDB命令行方面的調試器……

說實話,程式設計師使用什麼樣的工具本來無所謂,只要你能更好更快地達到你的目的即可。但是,有一點是優秀程式設計師都應該了解的——那就是應該去嘗試一下別的工作環境。沒有比較,你永遠不知道誰好誰不好,你也永遠不知道你所不知道的。

05

使用版本管理工具管理你的代碼

千萬不要告訴我你不知道源碼的版本管理,如果你的團隊開發的原始碼並沒有版本管理系統,那麼我要告訴你,你的軟體開發還處於石器時代,那就趕快使用一個版本管理工具吧。

CVS 是一個看上去平淡無奇的版本工具,但它是被使用最廣的版本管理系統,Subversion 是CVS的一個升級版,其正在開始接管CVS的領地。Git 又是一個不同的版本管理工具。還有Visual SourceSafe等。

使用什麼樣的版本管理工具依賴於你的團隊的大小和地理分布,你也許正在使用最有效率或最沒有效率的工具來管理你的原始碼。但一個優秀的程式設計師總是會使用一款源碼版本管理工具來管理自己的代碼。如果你要我推薦一個,我推薦你使用開源的Subversion。

06

做一個優秀的團隊成員

除非你喜歡獨奏或想要成為孤膽英雄,否則可能沒有一個成熟的軟體是一個人能做的到的。

你在和你的團隊成員交流中有禮貌嗎?你是否經常和他們溝通,並且大家都喜歡和你在一起討論問題?想一想一個足球隊吧,你是這個隊中好的成員嗎?當別人看到你在場上的跑動時,當別人看到你的傳球和接球和搶斷時,你的團隊成員能因為你的動作受到鼓舞嗎?

你可能是你團隊中最牛的大拿,但這並不意味著你就是好的團隊成員,你的能力只有放到一個團隊中才能施展開來。

07

把你的工作變成文檔

這一條目當然包括了在代碼中寫注釋,但那還遠遠不夠,你需要做得更多。有良好的注釋風格的代碼是一個文檔的基礎,它能夠讓你和你的團隊更容易明白你的意圖和想法。寫下文檔,並不僅僅是怕我們忘了當時的想法,而且還是一種團隊的離線交流的方法,更是一種知識傳遞的方法。

記錄下你所知道的一切會是一個好的習慣。因為,我相信你不希望別人總是在你最忙的時候來打斷你問問題,或是你在休假的時候接到公司的電話來詢問你問題。而你自己如果老是守著自己的東西,其結果只可能是讓你自己長時間地深陷在這塊東西內,而你就根本不可能去做更多的事情。

再比如說向上的晉升。你可能以為「教會徒弟能餓死師父」,但我告訴你,你的保守會讓你失去更多更好的東西,請你相信我,我絕不是在這裡聳人聽聞。

08

注意備份和安全

你覺得這是一句「廢話」,你已然明白了備份的重要性。但是,我還是要在這裡提出,丟失東西是我們人生中的一部分,你總是會丟東西,這點你永遠無法避免。比如:你的筆記本電腦被人偷了,你的硬碟損壞了,你的電腦中病毒了,你的系統被人入侵了,甚至整個大樓被燒了等等。

所以,做好備份工作是非常重要的事情,硬碟是不可信的,所以定期刻錄光碟或是磁帶可能會是一個好的方法。網絡也是不可信的,所以小心病毒和黑客。此外,儘量讓你的數據放在不同的地方,並做好定期(每日,每周,每月)的備份策略。

09

設計要足夠靈活

可能你的需求只會要求你實現一個死的東西,但是,你作為一個優秀的程式設計師,你應該隨時在思考這個死的東西是否可以有靈活的一面,比如把一些參數變成可以配置的,把一些公用的東西形成你的函數庫以便以後重用,是否提供插件方面的功能?你的模塊是否要以像積木一樣隨意組合?如果要有修改的話,你的設計是否能夠馬上應付?當然,靈活的設計可能並不是要你去重新發明輪子,你應該儘可能是使用標準化的東西。

所謂靈活的設計就是要讓讓考慮更多需求之外的東西,把需求中這一類的問題都考慮到,而不是只處理需求中所說的那一特定的東西。比如說,需要的屏幕解析度是800×600,那麼你的設計能否靈活於其他的解析度?

程序設計總是需要我們去考慮不同的環境以及未來的趨勢,我們需要用動態的眼光去思考問題,而不是刻舟求劍。也許有一天,你今天寫的程序就要移植到別的環境中去,那個時候你就能真正明白什麼是靈活的設計了。

10

不要搬起石頭砸自己的腳

程式設計師總是有一種不好的習慣,那就是總是想趕快地完成自己手上的工作。但情況卻往往事已願違。越是想做得快,就越是容易出問題,越是想做得快,就越是容易遺漏問題,最終,程序改過來改過去,按下葫蘆起了瓢,反而會花費更多的時間和精力。

欲速而不達。優秀程式設計師的習慣是前面多花一些時間多作一些調查,試驗一下不同的解決方案,如果時間允許,一個好的習慣是:每4個小時的編程,需要一個小時的休息,然後又是4個小時的編碼。

當然,這因人而異,但其目的就是讓你時常回頭看看,讓你想一想這樣三個問題:

(1)是否這麼做是對的?

(2)是否這麼做考慮到了所有的情況?

(3)是否有更好的方法?

想好了再說,時常回頭看看走過的路,時常總結一下過去的經驗,會對你有很大的幫助。

以上是十條優秀程式設計師的習慣或行為規範,希望這些建議可以對你有所幫助。

相關焦點

  • 10個習慣助你成為一名優秀的程式設計師 - OSCHINA - 中文開源技術交流...
    這是一個有爭議的話題,無論你選擇相信10x程式設計師,還是認為這十分可笑,下面的10個習慣可以在一定程度上助你成為一名勢不可擋的優秀程式設計師。1、積極使用搜索工具作為開發人員,你需要了解如何利用搜索解惑,查看其他人對你正在研究的主題所討論的話題和內容,並將學到的知識應用於手頭的項目。
  • 成為一名優秀的程式設計師,應該如何開始並學習哪些計算機知識呢?
    程式設計師是現今比較熱門的職業,程式設計師也稱為軟體開發人員或者軟體工程師。如果要想成為一名程式設計師,必須學習相應的知識和技能。那麼一名優秀的程式設計師需要學習哪些計算機知識?如何開始呢?如果我們沒有任何的計算機基礎,而想學習軟體開發技術,成為一名優秀的軟體開發人員,那麼就從最基本的計算機基礎知識學起吧!
  • 成為優秀程式設計師的10個有效方法
    ——Doug Linder作為一個在IT行業的軟體程式設計師,每天促使我去上班的動力就是對編程的樂趣和激情。但是為了激發樂趣並獲得永恆的快感,我們需要學習和遵守一些基礎知識以成為一名優秀的程式設計師。當然我總結的這些東西沒有那麼神,你說你要想學了之後就一定可以成為優秀程式設計師,那是不可能的。這只是從我的經驗角度出發提供的一些捷徑。
  • 成為優秀程式設計師必備的幾個學習網站(珍藏版)
    ,那如何獲取最新且比較優秀的知識成為了一個重要的問題,下邊就是總結了一些優秀的學習及資訊網站,時刻提高自己,避免重複造輪子。        因為目前很多網站都做的大而全,所以分類方法為國內外的優秀技術網站,具體的優勢單獨介紹,當然還有更多更好的功能需要你不斷去探索。國內篇1.CSDN(國內最大中文IT社區)國內的程式設計師入門級網站,內容很多很雜,包括論壇、資源下載、博客、各種資訊等等。
  • 沒有學歷文憑,如何成為一名優秀的 Java 程式設計師?
    在我多年的程式設計師生涯中,我學到了一些要點。但是,「如何成為一名優秀的Java程式設計師」不是隻字片語就能回答清楚的。無需任何正式的培訓,也不需要坐在教室裡學習、考文憑。沒有相關的學位證書,你也可以被稱為一名優秀的Java程式設計師。你只需集中精力,讀一兩本好書,主動利用網上豐富的資源,投入足夠的時間來學習這項技術。
  • 我是如何成為一名優秀的C+程式設計師?
    如今,對C++的需求很大,並且C/C++程式設計師主要是在信息技術領域招聘的。有關為什麼您應該學習C++的更多詳細信息,可以看看筆者以前的文章。 為了成為一名優秀的C/C++程式設計師,您必須專注於此處提到的某些事項: 1.弄清基礎知識 尋找一個好的知識來源
  • 在編程中,優秀程式設計師無法忍受的編程語法缺陷,你遇到過哪些?
    程式語言缺陷在計算機編程中,優秀程式設計師都無法忍受的編程語法缺陷,你遇到過哪些?沒有完美的程式語言,只有不斷發展的,適合特定技術選型的程式語言。作為程式設計師,由於程式語言機制的缺陷引起的編程問題,你都有哪些體會呢?
  • 程式設計師的職業生涯可以有哪些出路?
    靈魂拷問來了:程式設計師的職業生涯可以有哪些出路? 人往高處走,誰也不想一直待在初級程式設計師的崗位上。做好職業發展規劃,是每位程式設計師的必修課! 那麼按部就班的程式設計師可以有什麼出路,程式設計師又該為將來的職業發展做什麼打算呢?
  • 學習IT多久可以成為程式設計師?
    初學者人員想通過自學成為一名程式設計師,一般來說,沒有一年的時間,很難去上班,如果你正在參加培訓班,可能會更快,但找工作也需要半年的時間,當然,不要以為只要是自學還是報班就能找到高薪的程式設計師職業,這取決於你是怎麼學習的。
  • 良好的程式設計師與優秀的程式設計師究竟有何差異?
    所以,如果你是一名程式設計師且具有以上特徵,那麼恭喜!你是一名良好的程式設計師。你應該感到自豪。現在開始介紹優秀的程式設計師。· 罕見難有的人才。· 生產效率是良好程式設計師的3倍,是糟糕程式設計師的10倍。· 屬於頂尖的1%,不僅寫代碼,還擁有一系列無形的特質,使其在眾多程式設計師中脫穎而出。簡言之,優秀程式設計師=良好程式設計師+一系列無形特質。雖然這並不容易,但是如果你足夠努力,這裡有一些無形的特質,可以幫助你實現從良好程式設計師到優秀程式設計師的轉變。
  • 2020-1024=996,2020年程式設計師還會難嗎?
    2019年過去了,大家很懷念它。但有些人還沒來得及辭舊迎新,就先發現了一絲不對勁:2020年對程式設計師不太友好:2020-1024=996!沒錯,就是那個令程式設計師們為之色變的 「工作996,生病ICU」。
  • 學什麼專業才能成為程式設計師?其實想成為程式設計師,遠不止計科和軟工
    那麼我們學怎樣的專業才能成為程式設計師呢,其實很多專業都有相關編程課程,c語言基本是工科各個專業都有的課程,但如果是奔著程式設計師的目標去的,還是得選專門對應的專業好。
  • 優秀程式設計師需要具備的基礎能力
    Java是程式設計師最喜歡的語言,幾乎所有的IT論壇都有不少喜歡Java語言的人,也有不少人想成為Java程式設計師,但很多人不知道應該如何入門,不知道學什麼才能成為合格的Java程式設計師。下面就跟大家討論一下優秀程式設計師應該具備的能力。
  • 2021年程式設計師工作計劃範文
    保持健康  程式設計師時常久坐,這讓我們容易受到一些特有的健康問題困擾,卻又往往視而不見。用一個月時間養成一項健身習慣,也別忽視身體的警告。  3. 擁抱不適  在我二十出頭時,曾經研究年長者為何有人不斷進步,有人停滯不前?答案是「舒適」。我們習慣找到一個適合自己的系統就不再改變,但技術不是這樣。  4.
  • 零基礎轉行程式設計師,有哪些經驗可以借鑑?
    隨著網際網路行業的迅速發展,市場對於程式設計師的需求增大,越來越多的人開始轉行到IT領域,程式設計師也不再基於計算機科學或軟體工程等個別專業的畢業生,其他非計算機相關專業的,像學物理、數學、自動化,甚至英語、藝術或歷史的,也都投入的程式設計師的行列。那麼,對於一個希望轉型成為程式設計師的人員,有哪些值得重視的經驗呢?
  • 2020年,Java程式設計師應該學習哪些技術呢?
    對於很多Java程式設計師來說,年齡的增長其實不是那麼可怕,可怕的是你沒有匹配自己年齡的技術深度。當你的工作換一個剛畢業的學生都能做的時候,你很快就會被淘汰了。所以,選方向一定要選自己感興趣的方向,因為只有這樣,你才有興趣去往深入了學,你才不會在未來被年輕人擠下去。
  • 程式設計師客棧:聚集稀缺程式設計師資源,做優秀人才的經紀人 | 獵雲網
    區別於100offer專注程式設計師的招聘,程式設計師客棧要做優秀程式設計師的經紀人,獵雲網認為他還具備了輕社交的內涵,一起來了解一下。程式設計師客棧立志做優秀程式設計師的經紀人,為程式設計師服務。具體來說,你可以不用費勁心思準備面試,不用填寫各種簡歷表格,不用浪費時間在不是你核心價值的地方。3分鐘即可完成基礎資料填寫,系統自動抓取展現重要數據,生成個人主頁,在程式設計師圈子建立自身影響力。目前已經實現社區信息抓取自動化,未來會嘗試作品信息抓取自動化,成為程式設計師的成就自動更新展覽廳。
  • 程式設計師資格證報考條件?程式設計師資格證考試科目有哪些?
    程式設計師考試屬於全國計算機技術與軟體專業技術資格考試(簡稱計算機軟體資格考試)中的一個初級考試。考試不設學歷與資歷條件,也不論年齡和專業,考生可根據自己的技術水平選擇合適的級別合適的資格,但一次考試只能報考一種資格。那麼程式設計師資格證有沒有什麼報考條件呢?
  • 未雨綢繆:程式設計師職業規劃,你想成為一個什麼樣的猿?
    因為在初期接觸一些問題時,你對它是0概念的。這點在軟體行業是特別普遍的一種現狀。你甚至根本不清楚你到底不清楚什麼。 獨立解決問題的能力正體現在這裡,在長期解決問題的過程中,你已經形成自己的方法論,能迅速定位新的問題的癥結點在哪裡,哪些是自己熟悉的模塊,哪些又是新的需要摸索的模塊,哪些是必須去請教的模塊。然後有的放矢的去解決。
  • 2020 年 3 月全國程式設計師工資出爐!
    Java技術棧www.javastack.cn優秀的Java技術公眾號趨勢2020年3月,中國大陸程式設計師平均工資具體趨勢如圖:各主要程式設計師城市工資變化:職能說話你拖後腿了?5、程式設計師接私活,怎樣防止做完不給錢?6、Git 高級用法,喜歡就拿去用!7、7 種 JVM 垃圾收集器,看完我跪了。8、分享 14 個 Spring MVC 頂級技巧!9、圖文並茂,帶你掌握 JVM 垃圾回收!10、Redis牛逼!