程式設計師提高工作效率,避免加班的方法

2022-11-15 20:42:06 字數 3055 閱讀 1968

doing is better than perfect.

先實現,再優化。這個老生常談了。

同時幹幾件事將會分散你的注意力,而且極其消耗能量,畢竟人腦不是cpu,程式設計師務必單核。

only ever work on the thing that will h**e the biggest impact.

劃分事情的緊急優先程度,先把線上bug解決。

always take notes.

勤於記錄!

你現在是否開發的時候感覺很吃力,就只知道每天去寫**,沒有總結一些簡便的方法,為了找段**,差點就發動整個朋友圈了,其實學習**是講究方式方法的,不管是做什麼工作,只要你找對了方法什麼都難不住你,下面是開發大牛總結的提公升程式設計效率的幾點.建議。不管你是程式設計菜鳥還是資深程式設計師,或許都能從中得到啟發。

浙江優就業

一、計畫

所謂plan,其實就是對於程式設計中的「設計」階段,當然,這裡的plan並不像設計那樣重量級。它要求我們程式設計師在正式程式設計前最少要考慮一下下面的問題:

你這個程式,工具或是專案的目的,究竟是用來幹什麼的。你只有知道做什麼,要達到什麼樣的目的,你才能做得好,做得對。

需要有什麼樣的功能。需要你給出來個功能表。這樣可以保證我們不會遺漏了什麼。

準備好一些技術難題的前期調查和解決方案。不要等到開始程式設計的時候才去想。下面是你因為有「plan」而得到的好處:

你能夠清楚地明白你要做的東西長什麼樣?

你能清楚知道你要開發的東西要幹些什麼事?

你能夠在開發工程中解決你所有可能發生的難題。

浙江優就業

二、使用偽**

偽**是乙個非常不錯的方式,讓你可以看到你要寫得程式長什麼樣?

一些人並不喜歡偽**,因為他們並不想把同樣的**寫兩遍,一遍是偽**,一遍是真**。其實,這是可以理解的,因為兩個copy的東西是比較不好維護的。但是我想,這是可以權衡的,如果的演算法很簡單,那麼就不需要偽**了,如果你的演算法比較複雜,比較繞,那麼,有乙個偽**提綱挈領將會是一件非常不錯的事情,因為他有利於讓別人從乙個簡單的文件來了解乙個複雜的演算法或系統。

這就好像乙個電線的佈線圖一樣,你可以很容易地通過乙個簡單的文件從複雜的實現中找到頭緒。

三、讓你身邊的人也高效起來

這個是我直到今天才感悟到的。我一直努力讓自己更加高效,不讓時間虛度。然而當我們面臨越來越複雜,越來越繁瑣的任務時,我們不得不借助於團隊。

道理我都懂,然而卻一直不上心。我們一直說團隊是最重要的,然而我們終究並沒有把心思完全放在團隊上,為了自己的那點小九九。

只有身邊的人也如你般高效,才可能釋放出你來去做更多讓更多人高效起來的事。更多的人更加高效,即節約了他們的生命,也反過來再次讓你變得高效。

當你能夠讓身邊的人也越來越高效,或許你就真的到了高效的最高境界。

四、高效的開發環境

我們可以從編緝器談起,這裡有ide vs text editor,有vim vs emacs,有sublime vs atom,那該如何選擇呢?在做選擇之前,我們先想想自己的目標。我們希望這是乙個長期的投資,這款編緝器能被長期使用,在這個過程不斷的打磨,使其能完全適合自己的習慣,最大化編緝效率。

如果程式設計師是俠客,編緝器則是他手中的劍。

雖然我是vim的重度使用者,但我覺得當年選擇vim時有欠考慮。如果讓我重選一次,我的第一選擇會是emacs,第二選擇會是atom。emacs已存在30年,社群仍然活躍,其可擴充套件性在編緝器中無人能出其右。

emacs的指令碼語言elisp又是lisp的一種dialect,我覺得對lisp的學習可以提公升程式設計師對程式設計核心思想的理解。另乙個加分點是emacs由於其本身的高門檻及lisp特質,吸引了大批高質素的程式設計師,其社群可謂藏龍臥虎,更誕生了像org-mode這樣神級的外掛程式。

五、注釋和命名

程式設計的時候,可能時間緊任務中,而且專案對注釋或者命名沒有強制要求,很多程式設計師就偷懶。結果就是坑別人,也可能坑自己。所以,注釋一定要寫,不管是否有要求。

命名一定要規範,杜絕拼音,一定要用英文(拼音有時候有歧義)。注釋和命名是乙個程式設計師的逼格,不能偷懶。在多人專案中,建議偷偷學習一下同事的編碼規範。

六、把玩並掌握**

到了這一步,你可能會覺得你已經從這本書所給予的資訊中提取出了全部。然而,你還是沒有把玩示例**並試著讓它以別的方式執行。試驗是學習的關鍵。

將書本中的示例**試驗一下,是提公升你技能的好方法。當你做了各種各樣的延伸時,你應該開始理解**的變化如何在整體上影響應用。這類知識無法通過其他方式學習——你需要通過試驗去精準地理解一門語言所提供的特性。

最後,你將開始創造出與書中**不太一樣的應用。這時,你走到了乙個新的階段。在這個階段中,你開始自信地建立自己的應用,並且真正地理解了它們是如何運作的。

七、認真沉思

創造的過程,就是將你腦海中的**進行結構化,體現到實際中並用它們解決某個問題。想象一下,在辦公室裡有兩個書桌,乙個用於寫作(此tip),乙個用於編輯(tip 7)。從書桌能望向窗外,你可以異想天開、開放思考,像追逐蝴蝶一樣追逐你腦海中的想法。

不要害怕散步,或者害怕嘗試可能是,也可能不是最好的最終解決方案。我最有生產能力的實習生之一,當想弄清楚她**下一步該怎樣寫,她喜歡在cmu的走廊上走路。程式設計就像寫作一樣,不僅僅是在螢幕上打字,更重要的是你腦中想的東西。

所以在種植前,先為土壤施肥而慶祝,然後再澆水。

浙江優就業

八、必須像工匠一樣寫夠十萬行**,又須像寫詩一樣來寫**

程式設計師像木工一樣,熟能生巧。程式設計師必須寫足夠**量的程式,才會有感覺,這是乙個苦力活,沒有任何捷徑可走。

計算機是一門實踐性的科學,沒有動手能力做支撐,很難做出好的科研成果。我的乙個學長是美國卡內基梅隆大學的博士,卡內基梅隆大學計算機系在全世界都非常出名,他說每個博士生必須寫十萬行**才能畢業,卡內基梅隆大學博士生進任何乙個大企業基本不用面試。而國內培養的大部分研究生、博士生,動手能力都偏弱。

沒有寫過足夠**量的程式設計師,想成為高手是不可能的,只能紙上談兵!

那麼,怎樣像寫詩一樣寫**呢?很簡單,買幾本經典的程式設計書,把書上所有例程全部重新寫一遍,逐個比較和書上範例的差距,一步一步改善自己程式設計的風格和技巧。時間長了,自然就能寫出像書上例程一樣的**,甚至可以比書上寫得好。

基礎紮實後,多看看linux等系統級的源**,看看高手是如何寫的,就有感覺了。通讀一下msdn中所有的資料,這樣就「讀書破萬卷,下筆如有神」。

提高工作效率

管理學大師彼德 杜拉克曾說 時間是世界上最短缺的資源,除非善加管理,否則一事無成。忙 盲 茫 忙得暈頭轉向總是覺得時間永遠不夠用?你是否想過忙碌的背後,竟是盲目的工作過程,時間的控管才是造成你一事無成的問題癥結。作為管理者,往往樂於見到員工忙碌。但是,現在cubichr專家告訴我們需要乙個觀念革新 ...

提高工作效率

新員工怎樣才能提高工作效率 工作5年期不到的人,經常性的會抱怨工作任務多,沒有時間學習。是不是沒有時間呢?如果去問工作滿五年的職員,他們總會說,工作就是工作,如果工作多了,就做快點,少了就做慢點,在那裡沒有事情做,會讓領導說的。這裡姑且不論老員工管理上的問題,但從新老職員的對話中,明顯的可以看出,新...

提高工作效率

1.把所有工作計畫分成事務型和思考型兩類,分別對待 所有的工作無非兩類 事務型的工作不需要你去動腦經,可以按照所熟悉的流程一路做下去,並且不怕干擾和中斷 思考型的工作則必須你集中精力,一氣呵成。對於思考型的工作,最好的辦法不是匆忙的去做,而是現在日常工作和生活中去想。當你的思想累計到一定的時間後,再...