A. 程序員如何提高自己的工作效率
程序員如何提高自己的工作效率?程序員要在IT界混出個名堂,也要有高效的工作效率才行。下面我為大家整理了程序員提高工作效率的辦法,歡迎大家閱讀參考!
程序員如何提高工作效率
1)鍵盤功底要扎實
敲鍵盤時要使用標准指法。可能你認為這是程序員的基本功,可是我發現其實很多程序員都做不到這點。看著他們敲代碼時那笨拙的指法我就心急。其實煉成標准指法不難,相當年我還是一指禪,打字極慢,痛定思定,在一周內我打字必用標准指法,再別扭也要堅持,一周後就適應了標准指法了。現在不說運指如飛也算是略有小成。練習指法和鍵盤速度可以給大家推薦一些網站:http://10fastfingers.com/typing-test/english,這個就是練習標准指法的,我可以輕松上60 WPM(每分鍾60單詞),有個外國同事可以達到130以上,那才叫恐怖。http://typing.io/lessons,專門供程序員練習敲代碼的網站,融合了各種括弧和標點,難度有點大。
2)要熟悉IDE的各種快捷鍵及特性
IDE基本上是碼農們上班中使用時間最長的軟體。首先要選擇一個趁手的IDE,俗話說,工玉成其事,必先利其器嘛。如果是C#陣營的那肯定是最新版的Vistual Studio了,如果是Java陣營的話當然是Intellij了(eclipse作為開源IDE,真心比不過Intellij)。我現在使用Intellij可以在95%的情況下不用滑鼠,全鍵盤完成開發過程中的大部分操作。我覺得沒有什麼常用快捷鍵、不常用快捷鍵之分,只要你知道的快捷鍵就要拿來用。
尤其是各種重構快捷鍵必須要熟練掌握,當我看到碼農修改變數名時不用重構快捷鍵,而是自己手動在引用的地方一個個改,然後編譯查錯時,真為他們捉急。還有各種inline,introce的快捷鍵真是好用到爆,掌握了這些快捷鍵可以說對代碼進行任何重構都不費除灰之力,我們的注意力也從手動修改代碼轉移到如何發現壞味道了。Vistual Studio中推薦安裝ReSharper,其開發公司與Intellij開發公司是同一家。除了重構快捷鍵,還要掌握一些IDE的特性,比如調試時可以插入指定條件來命中斷點等,這些就要平時的積累和學習,另外還有好奇心。我敢說你現在挨個看IDE菜單,至少有30%功能你從沒用過或不知道是干什麼用的,其實裡面有些功能是非常實用的,只是你沒嘗試而已。
3)至少熟練掌握一種shell終端
作為程序員老用圖形化界面咋行,要用那種古老的命令行界面才能顯示出你的高深嘛!滑鼠點界面誰都會,而命令行界面不是誰都能駕馭。有些功能在命令行下要比圖形界面下高效N倍。比如我使用git提交文件時都是在命令行下查看哪些文件被修改了,哪些是新添加的,修改的部分是哪些等。
使用圖形化界面要用滑鼠點來點去,效率實在太低。Linux系統下的終端太多了,就不推薦了。Mac系統下推薦使用iTerm2這個殼,其比MAC自帶的terminal多了不少實用的特性,也能方便切換自己喜歡的配色。Windows下當然首推Windows Power Shell了。Windows Power Shell本身集成了常用的實用工具,並且與.net framework無縫結合,這點是那些在Windows上的類Linux模擬器(比如Cygwin)是遠遠比不了的。
4)具有一定編寫shell腳本的功底
光會用現有的`腳本還不行,還要會根據情況編寫腳本來實現自己特定的一些目標。比如我使用MAC機上的終端時,經常需要在不同目錄間跳來跳去,每次都打一串的cd …..很麻煩,後來我就自己寫了一個小工具,可以給指定的目錄起別名,想要跳到這個目錄只要敲別名即可(參見 http://www.huangbowen.net/blog/2013/02/16/gtshell/)。
還有我在Windows系統上工作時,也經常編寫一些Power Shell腳本,比如一個命令就啟動指定的FTP伺服器,一些小命令用來實現快速在不同項目源碼間切換並執行構建命令等。這些命令編寫起來都很簡單,在提高工作效率方面很好幫助,因為一些常用的費時的操作每天重復N次,讓人很厭煩,如果能夠使用腳本將其自動化起來,豈不是就把自己給解脫了?
5)多語言編程
在這個世界有太多太多的編程語言,但凡稍微流行的編程語言都有自己獨特的優勢,而我們要善於利用每種編程語言的特點,而不是整天吵鬧那種語言更強大。我自己熟悉C#、java語言,也用JavaScript、Ruby、Python、Groovy做過一些東西,甚至為了理解函數式編程還專門學習了Haskell語言。這些語言都給我帶來了實用的效果。比如我用Ruby寫了一個插件,可以自動把我主站上的博客同步到博客園中的博客來。
我使用Groovy給我的Java代碼寫單元和集成測試,比使用Java語言編寫要快很多。我用Python和WebDriver寫了一個論壇灌水工具來刷積分。你掌握的語言越多,你的視野就越廣,你對編程的理解就會越深入。當然我不贊成盲目的求多,至少你要有2到3門精通的語言,從語言語法、語言運行時、語言特性、語言API等方面都要有深入學習和見解,當你再學習其它語言時也不會浮於表面的了。
6)這是最重要的一點,時刻保持一顆好奇心,一顆堅定不移的提高工作效率的決心
很多人都抱著差不多態度,心想“我雖不是標准指法,敲鍵盤速度也差不多”,“我IDE快捷鍵用的不多,也沒覺得那裡影響到我開發”,“我只會C#一種語言,還不照樣干到現在了嗎?”之所以有這種想法,是是因為你沒有見到真正高效的人。我曾看到某IT界牛人那出神入化的VIM操作,簡直已經超越了指哪打哪的境界,已經達到了鍵隨心動的境界。
我也看到某高級程序員使用IDE快捷鍵三下五除二就把一段醜陋的代碼給收拾的服服帖帖。耳濡目染之下讓我堅定了這個決心,不做差不多先生。所以平時我和同事一起工作時,就留心他們有哪些方法和工具來提高自己的工作效率。如果他們使用了一些好用的快捷鍵而我不知道,那我就會記下來下次自己用(快捷鍵熟練程度上我早已是我們項目組的number one)。
如果看到他們使用了一些好的工具我也會立馬回去下載下來自己用。(比如前兩天我看到同事使用SuperPutty來連接遠程主機,其支持多tab方式,這正是我想要的功能。我回去立馬下載下來,拋棄了以前的Putty)這樣時間長了,集眾人之所長,你自然也成為效率達人了。
B. 程序員怎麼提升自己
格拉德威爾曾提出過一個 「一萬小時定律」,即任何人從平凡到大師的必要條件,就是歷經 1 萬小時的錘煉,而這 「1 萬小時」 也不是達到就行;如何構成,才是能否成為行業資深的關鍵。總結起來,就是四個字:多看 + 多練 + 刻意練習。
寫代碼過程中總是會碰到這樣那樣的 BUG,不解決渾身不舒服,沒解決好領導不舒服,可是解決 bug 這種東西很多時候都是看運氣的。這時候一定要有大局觀,給自己充足的時間耐心去 Debug,哪怕是通宵不眠,如果來不及的時候則要立刻去求助,前面的路不要省,在適當的時候放棄執念就可以節省掉很多時間。
這些年低代碼概念開始流行,像國外的 Mendix,國內的 JNPF,這種新型的開發方式,圖形化的拖拉拽配置界面,並兼容了自定義的組件、代碼擴展,確實在 B 端後台管理類網站建設中很大程度上的提升了效率。
我們在前端開發腳手架中,通常會創建一些通用的組件,然後在各個需要這個組件的地方進行引用,來提升開發效率。低代碼開發就是用較少的代碼來完成業務邏輯出來過程。有拖拽式的代碼生成器,靈活的許可權配置、SaaS 服務,強大的介面對接,隨心可變的工作流引擎。支持多端頃帶協同操作,100% 提供源碼,支持多種雲環境部署、本地部署。
程序員主要不是寫代碼; 相反,他主要是向其他程序員寫有關他的問題解決方案的信。 對這一事實的理解是他作為工程師走向成熟的最後一步。 多問自己一些重要的問題:
程序的世界是英文的世界,這個世界的問題,用它的語言去解決最高效,任何的技雀凳蘆術問題。在操作系統上,把英語作為母語,在日常工作中,用英語作為搜索語言。堅持這件事十年如一日,當你看到一個英文單詞,不必在大腦中做中文翻譯,其意瞭然於胸。
代碼盡量多寫一些注釋。寫的溜還讓別人看得懂,也是一種能力。之前有個同事很喜歡寫分隔線,某一個功能是從哪裡開始,然後到哪裡結束,但是我從來就翻不到我要的那一行,回回找回回找不到,多餘寫。
有必要寫的地方就比如 to 啊,或者說這行代碼可能稍微需要一些優化啊,有問題及時和後邊開發的人或審核代碼的人解釋一下,解釋一下為什麼我要把它注釋,或者說我使用了一些比較冷門的第三方插件我想要解釋一下或者是附上一個文檔鏈接等等。
不斷的學習,為他人不斷提供價值,只有這樣,才能走的更久更遠…… 這里要特別強調,和後端保持及時粗埋溝通。如果遇到問題,最好先溝通解決好,別問我是怎麼知道的......
C. 剛入行的年輕程序員應該怎麼提升自己
每天千篇一律,總是有做不完的事,重復的工作讓他自己感覺不到有什麼提升。日復一日,進而迷茫自己的未來。
我見過許多工作兩三年的年輕人,都會遇到同樣的問題。
進入這樣的的職場迷茫期,其實很正常,我們需要的是怎麼來解決它。
一般來說,可以有以下六種方式來解決。
1、學會思考
人跟動物最大的區別就是思考,進入職場迷茫期,解決職場迷茫,最關鍵的還是思考。你需要思考,你的職業規劃,以及你必須重新審視你目前的工作、公司、領導、同事。
當你認真關注這些的時候,你就會發現很多日常沒有關注到的點,這些點就是你下階段需要去學習解決的問題。
思考一,工作本身,任何一份工作,其實都會有足夠的空間讓你成長。你需要去發現工作是不是做到了極致,還是只能馬馬虎虎的完成任務。
思考二,你的公司,當下的產品,當下的市場,當下的內部管理,當下的文化機制等等,你要通過這些思考,提升你自己的格局與視野。
思考三,你所在的團隊,你的同事都是什麼樣的特點,他們的工作能力怎麼樣,如果你是領導,應該怎麼來發揮他們各自的特長。
思考四,你的領導,你的領導是什麼樣的領導,他的管理特點是什麼,為什麼布置工作是這樣布置的,他擅長什麼,平時習慣關注什麼。
2、制定目標
能夠在職場拼博中殺出來的,都有自己明確的目標。進入職場迷茫期,就會對自己的目標失去方向。所以,你就開始需要根據這三兩年的工作經歷來重塑自己的職場目標。
1、學習目標:通過上面的思考,你會發現你的缺失,這就是你未來學習的目標。
2、進步目標:通過思考你的團隊,你的領導,你的公司,給自己樹立職業生涯規劃,力爭上進。
3、收入目標:每個公司都會有自己的漲薪機制,你得學習並去獲得升尺辯職加薪的機會。
3、經常復盤
我常說,在職場上,成長最大的技能其實就是每天記一下工作日誌。
擬寫工作日誌,就是一種復盤,你可以思考當天做的工作中存在哪些問題,遇到同類問題的時候,下次是不是可以處理得更好。
每過一個階段,可以把上一階段的的日誌拿出來消化體會,這個時候,你自己也會發現自己的成長軌跡,而這些清晰的成長軌跡,會讓你更有信心來迎接明天。
古人雲一日三省吾身,其實就是一種對自己的復盤。
4、遠離消極人群
人以群分,物以類聚。
你的朋友圈決定你的高度,你周邊全是消極的人群的時候,你也一定是消極的。
職場上最大的忌諱就是消極。所謂的消極,比如,傳小道消息、抱怨、小雞肚腸、暗中使壞、看不得別人好、打擊別人的工作。
你對照一下自己看看,迷茫的時候,跟這些有多少關系,你自己是不是也不自覺地在進行一些消極的行為?
沒有人喜歡消極的人,尤其是你的領導,一定不會喜歡一個消極的下屬。
5、早睡早起,鍛煉身體
身體不好就是殘廢。在職場上,一個好的身體才是所有工作的保障。啟扒
作為年輕人,打下一個好的身體底子,對於以後漫長的職場生涯會有絕對的幫助。
一直抱著手機,玩著游戲,加入所謂的年輕人熬夜圈子,其實是對自己的不負責任。
盡量的早睡早起,給自己制定明確的鍛煉目標。不僅是你對自己負責,對你的家人負責,也是對社會在負責。
一句話,身體才是真正只屬於你自己的東西。
6、偶爾放鬆一下
當然,工作幾年,進入了職場迷茫期,你不妨把自己放空一下。
比如,給自己放一次比較長的假期,去看看祖國美好的河山。邀請三五個好友,放下自己,去K個歌等陵旁缺等。
今天的職場,壓力大,所有人其實都需要有一定的放鬆時間。你得學會怎麼放鬆自己。
漫長的職場生涯才開始,尋找到可以使自己放鬆的方式,也是很重要的一步。
D. 怎樣做一名高效率程序員
很多人問我,你怎麼效率那麼高,工作很忙,又要帶娃,還寫博客,還有時間運動。今天就寫寫這個話題:程序員如何提高工作效率
保持高工作效率,我覺得主要有一下4個方面,希望能對大家有幫助。
集中目標
工作列表
不論是開發還是設計,還是其他職業,工作列表都很重要,工作目標很明確。工作的時候才能格外專注,才不會走神。
用自己最熟悉的工具(我用Evernote),把待辦工作列表(今天要做什麼)記錄下來,很重要的一點是記錄分解後的小目標(分解任務也是一個很重要的能力)。同時也保持工作中產生的新的問題(任務),經常性地調整當前工作任務列表,根據重要性對這些任務進行劃分,經常想著那些最重要的問題。
專注目標
專注目標不是那麼容易做到的,需要學會分離與當前無關的任務/問題,工作中經常會碰到的問題可以首先尋找簡單可用可靠的方案,並將心中的疑慮記錄下來,集中成一個列表,工作之外翻翻書,系統思考和學習,而不會因為這個問題而叉開思路對相關的內容研究一番。總之,專注當前的任務,把新問題記錄下來,回頭再專心攻克。
學會避繁就簡,在基本功的增強後,會發現很多問題可以簡單閱讀或查找文檔,或瀏覽問題相關的庫的源碼解決;
學會簡化問題
無論是在廣義的工作方法/工作態度上,還是在針對具體問題上,很重要的一個個人能力就是化繁為簡了。化繁為簡是所有工作方法/軟體設計的核心。將那些可以砍掉的工作砍掉,做到盡可能地簡單。
從工作方法和態度上來講,真正需要去做的工作才值得去做,大力砍掉那些不應該在當前工作中處理的事情。例如不必要的優化,不必要的擴展性,不必要的性能,不必要的功能,可以不要的技術,不必要的流程,不必要的文檔,統統砍掉,一切可以沒有的全都不能有。
工作中也可能遇到非關鍵的難題,通常繞過它們,使用更簡單的方案就是了。糾纏於這些不重要的難題,最容易浪費時間。
從設計/實現來講,最好的方案就是最簡單直接、一眼就能看懂的方案。而且通常最簡單直接的方式,通常性能也最好。
基本功
基本功的內容十分復雜。
第一項基本功是對整個計算機體系的理解,對操作系統/虛擬機/資料庫本質的理解,對語言基礎類和庫的理解,這些是核心基本功。
第二項基本功是學習能力。通過快速閱讀核心文檔理解核心思想,然後其他的東西總是能從文檔中查到就行。細枝末節的東西,即學即用,學過就忘可也。
第三項基本功是文檔、代碼、資料的搜索和收集,技術問題建議大家用Google搜索,有意識的整理出自己的代碼庫。
工具
選擇工具核心標准,就是簡單樸素可信賴,如果一個工具出幾次詭異現象,那就乾脆丟掉它。
熟悉工具,實際上我們工作中,就是和各種各樣工具打交道,各種IDE,編輯器,版本管理工具,命令行終端,TODO工具等等。要想在工作中如行雲流水,一定要熟悉工具,包括工具快捷鍵,命令,原理等等。
寫自己工具,很多時候,我們需要重復的做一件事情,當你做第2遍,第3遍的時候,就應該想一想,能不能自動化,很多簡單的幾句shell就可以搞定,麻煩的一點的,可以先記錄下來。比如,我就寫了非常多的腳本:一個命令反編譯APK並查看源碼、提取當前版本號打git tag並提交等等。很多時候幾分鍾到幾十分鍾的事情可以壓縮到幾秒鍾完成,也避免了對工作的打斷。
E. 程序員如何提升自己
如果程序員就業在大型科技企業(互聯網),那麼完全可以在崗位工作任務中獲得持續地提升。由於大廠往往具有較強的資源整合能力,而且對於開發人員的提升有比較詳細的規劃,所以程序員的提升通道通常也比較多。
對於在創業型公司,或者是規模比較小的軟體公司發展的程序員來說,要想獲得提升,既需要藉助於崗位工作任務,同時也需要有一個自主學習計劃。崗位工作任務的技術含量和上升空間對於程序員的提升有較大的影響,如果整個團隊的技術研發能力比較強,而且研發方向比較專注,那麼對於程序員的提升還是有較大幫助的。
自主學習對於程序員的提升也有比較明顯的影響,在內容的選擇上,既要考慮未來的發展趨勢,同時還要結合自身的知識結構和能力特點,如果自主學習的內容能夠再結合當前的崗位任務,那麼學習的效果會更好一些。
F. Java程序員在工作之餘如何提升自己
主要以下幾種方式提升自己的JAVA技能水平
1.購買相關的技術書籍進行業務能力的提升和鞏固,對個人的自控和自學能力有一定要求。
2.去學習網站上看教學視頻,現在的學習網站一般都會有學院和講師的技術實時探討,學習氛 圍較好,有的資源可能支付一定的報酬
3.技術博客的查看和寫作也是不錯的選擇,相對前面兩個方向,技術博客相對自由,也不需要支付相關費用。
G. 程序員怎麼在工作中解決問題並提升學習能力的
學習,不停的學習。
剛遇到工作上的難題之後,一般就是靠個人能力解決,要是一個人不能解決的話,就申請團隊解決,總之最主要的目的就是解決難題。
作為程序員我認為最值得學習的精神就是:程序員的學習精神。
在日常的工作中我們也經常會遇到難題,但是從來沒選擇逃避過,就是認真面對困難,然後再一一把它們解決掉,在解決困難的途中,收獲會非常大。