優秀程序員必備的15大技能

編程是個很復雜的玩意,但是成就優秀程序員的很多因素和我們在學校中早期學到的相差無幾。本文靈感來源于Robert Fulghum的《All I Really Need to Know I Learned in Kindergarten》。

1.分享

盡可能地使用開源,并且如果有能力的話也可以把自己的成果分享給大家。整個社會的智慧結晶肯定比一些大公司自管自閉門造車要好。

2.公平的心態

不要以為你的選擇就是唯一能奏效的,試試其他技術、框架、方法和建議,也許其他的選擇比你原先的好也未可知。要用開放的心態去對待任何方法和抉擇。

3.不可攻擊他人

如第2條所言,不要因為別人恰巧使用的是.Net、Java或PHP這些技術就隨意攻擊他們(我在這方面有過教訓)。有時,這些你看不上眼的技術或許要比你想象的更有用。只要你懷著一種平和的心態,你就可以從他們那里學到很多東西,殊不知,海納百川,有容乃大。

4.解決自己的爛攤子

自己的代碼自己負責。永遠不要指望QA能幫你找到所有的bug。經常全面地測試自己的代碼。

5.不是自己的東西不要拿

得到許可后方可使用,偷偷用了事后再聲稱自己無辜是可恥的。

6.如果傷害了別人要說對不起

代碼審查是一個相當不錯卻又很少使用的主意。指導經驗比你少的程序員,有助于整個團隊的發展。但是切記不能公開批評他人。指導并不意味著貶低別人。在得到指導時,有的人會接受,有的人則不會。要記得有時候,從那些水平不及你的人身上,你也能學到很多東西。絕對不能門縫里看人——把人看扁了。

7.有備而來

在正式開工寫代碼之前要先做個徹底的了解。做原型、從網上搜索實例、和其他也做這個的人討論或者先練練手。什么都不知道就著手構建你從未嘗試過或使用過的東西簡直就是“自作孽不可活”。如果打一開始就有線索有思路,得到的結果可能會更好更有成效。

8.拿得起放得下

不要畏懼替換、重寫、重構甚至是直接刪掉代碼。有時候,如果碰到可留可不留的代碼,直接扔掉就是了。不要對你的代碼死纏爛打,不肯放手。

9.舒適的工作環境

對,要想程序員能高效編程,一個好的工作環境是不可或缺的。一把舒適的椅子,一個安靜的工作場所、一代高配置的電腦以及各種有助于編程的工具都應該配備齊全。經理避免一些瑣事去打攪到手下的程序員。而作為一個程序員,也不必忍氣吞聲、給人做牛做馬,如果老板對你不好,換個就是了。

10.保持生活的平衡——學習、思考、繪畫、唱歌、跳舞、工作、玩耍,每天都應該活得豐富多彩

我非常欣賞谷歌的工作方式,它會建議你花上20%的時間用來思考任何你認為值得做的事情。此外,谷歌還提供專門的休息室、游戲房和其他一些能用來放松自己的場所。因為編程是一種高強度的腦力活動,有時候你的大腦真的非常需要稍作休息。不要盲目地不管不顧自己的身體,“工作狂”絕對是不可取的生活方式。每周工作80小時,聽上去很牛掰,但是你的工作效率肯定要打一個問號,甚至一不小心會犯個不可饒恕的小錯誤然后前功盡棄。

11.下午打個盹

就算我們把一天24個小時全都用來寫代碼,成果也不會更多。停下來、回家、然后打個盹。很多問題都是在我回家的路上解決的。有時候,我正在開車,或者是清早一覺醒來,答案就靈機一動出現在我腦子里。

12.不要閉門造車

交流對于我們相當有好處:讀讀博客、學學新語言和框架、討論討論話題、看看同行在做什么。自掃門前雪,絕對成就不了一個優秀的程序員。閉門造車型的程序員終將被時代的潮流所淘汰。

13..保持好奇心。我們就像一粒粒種子,因為有著對外面世界的好奇,才能從土壤中探出頭來,親眼見證這個世界。

每天我們都能看到有新鮮事物出現在編程世界里。帶著“Why”去一探究竟。每天都學點新知識,擴寬自己的視野,刷新自己的技能,讓自己跟得上時代前進的步伐。要是你覺得編程枯燥又乏味,那么也許你可以考慮換一行。

14.所有事物都會逐步趨向衰退滅亡,誰都無法抵抗。

代碼也會慢慢發舊直至死亡。這時候你能做的就是把它們埋葬,然后再重新寫過。不要為了省錢而繼續維護那些費力不討好的代碼!

15.還記得《雌雄大盜》這本書嗎,我們學到的第一件事就是——“看”。

如果你不自己親自去試試,那么你永遠也學不到東西。我在編程中學會的所有東西全都來自于我的親身實踐。每天早上,我會廣泛瀏覽網站,看看我們的編程世界有什么新鮮事情發生。從80年代初我得到第一份工作開始,我就一直保持了這個習慣。(那個時候網絡還沒普及,我主要是看目錄和雜志。)

當你已經有了5年的工作經驗,在你眼中編程其實就是小菜一碟了。

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

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

相關文章

注解 @Target 用法

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 Target: Target說明了Annotation所修飾的對象范圍:Annotation可被用于 packages、types(類、接口、枚…

軟件開發者如何準備未來?

摘要:現今,科技領域技術更新非常迅速,作為該領域幕后勤懇勞作的軟件開發者要想在其中永遠保持領先,跟得上時代,就需要時刻面向未來做好準備。但面對各種技術各種開發語言,軟件開發者該如何做? …

java 并發包之 LongAdder 源碼分析

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 LongAdder是java8中新增的原子類,在多線程環境中,它比AtomicLong性能要高出不少,特別是寫多的場景。…

JAVA 內存模型 (Java Memory Model,JMM)

JAVA內存模型 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 Java內存模型(Java Memory Model,JMM) 是在硬件內存模型基礎上更高層的抽象&#xf…

解決:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 報錯如下: java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.…

解決:Command line is too long. In order to reduce its length classpath file can be used.

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 原本可以正常運行的項目,突然出現這個錯: Command line is too long. In order to reduce its length class…

性能提升利器之固態硬盤和序列化漫談

摘要:假設我們已經構建了下一個殺手級應用,而且變得越來越受歡迎,突破負載極限,以我們目前的增長的速度,需要在3個月內將需要將性能提升10倍。我們該怎么做? 【編者按】當面對一個性能擴展問題時&#xff…

查看本機IP的方法

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 打開網絡和共享中心 2.更改適配器設置 3. 右鍵選擇 狀態 4.選擇詳情 5.找到IP

來自前蘋果高管Heidi Roizen的經驗之談

摘要:Heidi Roizen曾是T/Maker的聯合創始人兼CEO;此后Heidi Roizen加入蘋果公司擔任開發者關系的高級副總裁。本文她分享了8條箴言,希望能為各位開發者帶來啟迪,體會生活與工作上的人生感悟。 【編者按】Heidi Roizen曾是T/Maker的…

解決:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408,

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1.只是想啟動elasticsearch,報錯如題: Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c…

Docker CEO Ben Golub:Docker借助開源、天時走向成功

摘要:Docker CEO Ben Golub接受了Gigaom專訪,他表示,Docker正是借助開源、天時走向了成功。而作為Docker前身,現任CTO Hykes在運作dotCloud過程中,發現多平臺的需求越來越受到用戶關注,于是Docker孕育而生。…

linux系統/opt目錄和/usr/local目錄有什么區別

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 在學習linux的時候,看到/opt目錄和/usr/local目錄都是安裝軟件的目錄,那這兩個目錄有什么區別呢? 一…

果斷Mark!Searchcode——源代碼搜索利器

摘要:Searchcode是一款免費的源代碼/文檔搜索引擎,匯聚Github、Codeplex、Sourceforge等多家開源站點,擁有超過20萬個項目、180億行源代碼,能以特殊字符、語言、倉庫和源方式從90多種語言找到函數、API的真實代碼。 Searchcode是…

elasticsearch 安裝( 阿里云ECS )、遠程訪問、啟動報錯處理

附另 2 文章: elasticsearch-head 安裝 kibana 安裝 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 從網上下載到 linux 版本的 tar 包:elasticsearch-6.7.…

解決:git: command not found、apt-get: command not found、git 安裝

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 運行 git 失敗,因為沒有安裝 git。 于是就安裝:apt-get install git,于是得到后一個報錯。 原來 a…

為什么程序員要盡量少寫代碼

軟件開發的一個最基本的事實是寫代碼,但是最大的誤區之一就是把寫代碼當做工作。當我作為一個程序員第一次參加工作的時候,就犯了這樣的錯誤。老實說,寫代碼真的是一件特有意思的事,它的強大功能,它的多種作用等等都讓…

elasticsearch-head 安裝

elasticsearch 安裝( 阿里云ECS )、遠程訪問、啟動報錯處理 kibana 安裝 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 首先安裝好 git、node.js、npm、cnpm yum -y install g…

C語言探秘:C代碼在內存中的分布

估計會有很多初學者跟我有一樣的疑惑,這些編寫好的代碼是放在磁盤中,但是運行將會被copy至內存中去運行。但他們在內存中是怎么分布呢。在 “linux下c編程圣經”(apue)UNIX環境高級編程一書中闡述了這一點。在這里結合網上資料以及…

集合:按元素的中文屬性排序

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 要排序的元素類&#xff1a; public static class NameCount implements Comparable<NameCount> {Collator collator Collato…

kibana 安裝

附另 2 文章&#xff1a; elasticsearch-head 安裝 elasticsearch 安裝( 阿里云ECS )、遠程訪問、啟動報錯處理 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 我的 elasticsearch 是…