谷歌程序員有哪些高效的編程習慣?

先畫個圖


馬上就去敲代碼是種荒謬且懶惰的想法。就比如在你寫一篇文章以前,要先弄清楚你的假設及論據,從而保證文章的內容有意義。不這麼作的話,你可能會漸漸意識到你所寫內容可能會跑題,不只浪費時間,還影響心情。程序員

一般,解決問題的方法乍一看很簡單,但其實否則。先在紙上寫寫有助於你找到解決問題的方法,並能證明該方法可用於不一樣情境,這些都得在敲代碼以前完成。算法

因此不要急於敲代碼,甚至想都不要想代碼。隨後你是有足夠的時間來作加分號、逗號這些事的。編程

畫個圖吧,畫上箭頭,或在框裏寫上數字,反正,用盡一些能夠幫你描述問題的方法。咱們的目標是解決問題,因此不要侷限於鍵盤,請盡情使用你的紙筆。函數

當咱們在寫算法時,咱們須要確保咱們能表達出全部內容並能應對全部可能的場景。在找到匹配的時候理應返回正確的答案,在沒找到匹配的時候也要放回正確的答案。測試

咱們已經能肯定解決該問題須要的一系列步驟(在編程領域,咱們稱之爲算法),而且咱們已經不一樣情境中進行都嘗試並都獲得正確的結果。基於這點,咱們就認爲該算法是有效的,接下來咱們就該將它算法化。google

寫僞代碼,而後轉化成代碼


這下咱們須要開始考慮語法、函數參數及語言規範了。你或許不能一下就把代碼寫的很全面,不要緊,先寫下你會的。blog

代碼中我能夠留空了一部分。我是故意的,由於我不肯定在JavaScript語言中給字符串切片的語法,因此我會在下一步中查詢該語法。ip

不要猜


我發現新手程序員常範這樣一個錯誤,就是在網上找到一些以爲可能有用語句,不經測試便將其加到程序中。你不理解的代碼段越多,就越不可能找到適合的解決方案。字符串

隨着你不肯定的內容增長,你的程序出錯的方式會呈指數式增長。當你有1處不肯定的時候,你程序確實只會由於這1個緣由而出錯。get

可是若是有2處不肯定,出錯就有3種狀況(A處出錯,B處出錯,或者AB都出錯)。若是有3處不肯定,就有7種狀況。到時你就很難找到出錯緣由了。

附註:程序出錯緣由的個數如梅森序列:a(n) = (2^n) — 1

先測試一下你的新代碼。能在互聯網上找有用的內容是很好的,可是請在將其加到程序中以前,用一個獨立的環境進行測試,以確保它能以你認爲的方式運行。

在上一步中,由於不肯定在JavaScript語言裏選取字符串某個部分的方式,因此就上網搜一下。

相關報道

相關文章
相關標籤/搜索