程式設計師永遠不要再犯的5個程式設計bug
程式設計師永遠不要再犯的5個程式設計bug
當你開始成為一個程式設計師的時候,在程式設計的時候很容易陷入下面所述的一些壞習慣。
作為一名程式設計師,犯錯誤不可避免,這是你學習程式設計課程中的一部分。在你的職業生涯中你會犯很多錯誤 – 有的特別、有的普遍 – 通過這些錯誤你可以學習如何避免在將來再犯同樣的錯誤。
但是如果你是一個初學者,你犯的錯誤可能會比其他人更頻繁。那麼如何才能避免大部分程式設計師每天都犯的這些普遍的錯誤呢?
想要避免錯誤,就要對它有所瞭解。這也是為什麼我要和大家分享一些在我們的程式設計師生涯中阻礙我們成長的普遍錯誤。
在開始之前,你可能想知道為什麼我知道這些是錯誤,不是最佳的方法?
有一個簡單的回答就是 – 在我的職業生涯中,所有這些情況我都遇到過。有些情況經常遇到,有些只遇到過幾次。每次犯錯之後,我都後悔莫及。
最壞的情況是我根本你不知道我在做錯的東西。一旦我意識到我在做錯事,我就開始避免這些失誤。至少,我現在寫的程式碼比以前寫的要好多了。
現在你們也可以避免這些錯誤。首先要知道你現在在做的是錯誤的。我知道大部門程式設計師都不會做任何錯事,因為他們認為那是正確的,所以他們的行為會對程式和程式設計師的職業成長產生不利影響。
絕大部分的不良程式設計習慣都源於無知,而沒有任何其他原因。
要成為一個好的程式設計師,我們必須一個一個的去掉這些無知。這也是那些好的程式設計書籍所盡力展示給我們的。
我們犯這些錯誤的部分原因在於它們確實完成了工作。並不是我們要做的 – 讓我們的程式執行起來,完成我們日常的工作。
但是讓什麼好用只是你工作的一部分。如果想要讓你的應用程式好用,你將不得不定期更新,修復任何新的bug,這些將有可能變得很頻繁。這樣一來能讓你的工作變得比較容易的方法就是遵循好的程式設計實踐。
另外,即使你在小型程式中能夠擺脫這些錯誤,在大型程式中你也可能碰到他們。
如果你仍然犯這些錯誤,可能你的程式依然正常執行,能夠完成需要的任務,但是它會變得易出bug,充滿低效率的程式碼,難於維護。並且,當你很長時間後再來看它的程式碼的時候,你會發現程式碼很難理解。
作為程式設計師,我們的工作不僅僅是讓我們的程式工作,而讓使用者來處理bug。我們的工作是確保使用者即使輸入錯誤也不會得到意外的結果。
所以要建立高品質的應用程式,請確保你不會在程式設計的時候犯下面的這些普遍的錯誤:
- 不加理解的拷貝程式碼
你經常會發現你需要的程式碼在一些別的程式裡面有。整段的拷貝程式碼並且就這麼使用它而不去煩惱於理解每一行程式碼是很誘人的。
有時候你拷貝的程式碼可能太大了以至於沒有時間去完全理解它。如果你拷貝任何程式碼都像這樣,就會有讓你的程式變得脆弱易出bug等風險。
這樣可能讓工作完成,但是如果這段程式碼在某種情況下產生了一些意外的行為將會怎麼樣?如果使你的程式變慢或者有惡意行為將會怎麼樣?因此需要恰當的理解這些程式碼,或者需要絕對的確信你拷貝的程式碼的出處。
如果以後產生了bug,你會發現很難理解這些程式碼,因為你從來沒有寫過它。甚至於你會發現很難去找出bug並且修復它,特別是如果拷貝了很多程式碼在程式的不同地方。
所以當拷貝程式碼的時候要小心,即使很少的程式碼。確保你完全理解它了。如果你以前用過一段程式碼並且可以百分之百的保證它可以工作,那麼它是安全可用的。但是如果不是的話,就要當心了。
- 每次都從頭開始
這和我之前說完全相反,但是這確實是初學者容易犯的另外一個錯誤。
也許你認為每次都從頭開始會很好,但是實際上它浪費了太多資源–時間,精力和思維,你可以更好的在其他方面使用它們。
如果你需要的東西已經存在了,那麼使用它們。不要反覆重複最基礎的東西。
你可以使用這些時間讓你的應用在其他方面更加優秀。
如果一個API、框架或者遊戲引擎讓你的任務更加輕鬆,你沒有理由不適用它們。你的目標不是展示你有多麼的優秀,也不是證明你可以獨立完成任何任務。你的目標是保證你的應用完美工作,並且儘可能少花費一些資源去創造它們。
如果你這樣做,你可以用更少的時間去完成同樣地工作。時間就是金錢,即使是你為你自己工作,你也應該試著在同樣的時間賺更多的錢。
- 沒自己嘗試就開始Google
很多次,出於習慣,每次出現新的問題,你都會通過Google來找找解決方案。對於程式來說,這不是個好辦法。如果你總是沒有自己試一試就通過外部方法來搜尋答案,那麼你的思維永遠都不會受到挑戰。
當你的思維停止挑戰,你自身的程式設計技能就會停止增長。把你自己的任何技能都練得很棒,你就可以自己解決問題,這也適用於程式開發。
你是建立一個已經存在的東西,你從來不進行原創。這真是你想要做的嗎?
搜尋存在的解決方案看起來很聰明,但是這會矇蔽你的雙眼,你的懶惰會阻止你成為一個好的程式設計師。如果你真的你想要搜尋一個解決方案,至少,開始的時候你在這個問題上先花一點事件思考一下。
也許你自己不花多少事件就能解決掉它。也許你會有比其他人更好的解決它。也許你的解決方案比其他人的更加精確。
如果你不嘗試,你永遠都不知道。
- 忽略警告
這是一個早期我進行程式開發時犯的另一個錯誤。我不能告訴你當你的程式中出現幾百個警號和一次都不出現有什麼大的不同-最重要的是忽略掉它就出現新的問題。
警告通常是你做的東西可能不是每次都能正常工作的一個標誌。有時,忽略這些警告會造成很大的安全問題。但是真正的問題通常是出現在程式出現幾百個警告,或者程式不能正常工作時。
很難確定到底是什麼原因造成了那個錯誤,你必須花更很多的時間來分析每一個警告來找出造成問題發生的根本原因。相反,你可以在警告發生的時候就處理掉它。
通常你僅僅需要使用正確的變數或者正確的函式來處理這些警告。不會花你幾小時,只需要幾分鐘遇到它們就把它們處理掉。
要儘早的處理警告。乾淨的程式碼看起來舒服工作起來也會很高。記住- 對待警告和對待錯誤一樣 .
- 快速修復而不是永久性解決
是的,我對這樣做感到愧疚。我不為此而自豪。但通常,我們僅僅是草草的修復一下,很少會去從根本上解決這個問題。
它能正常工作了,問題也處理掉了。但是如果你一不小心,問題又會以不同的方式重新出現。
無論你怎麼修復一個問題,都應確保你不會把整個系統破壞掉。修復應該提升整個系統的執行狀況,而不是讓它更慢或更笨重。
同時,進行一個修復要能永久性的解決這個問題。要長期,不要短期。有時,由於懶惰和無知,我們通常喜歡快速的把問題解決掉,而不想在上面花太多時間。這就是為什麼我們的寫的程式碼能正常的工作,但是卻不是在所有情況下都能工作。
如果你在工作的時候把它忽略掉,你會在後面花更多的時間。
瞭解上面這些錯誤能有助於你避免它們。如果你知道你所做的是錯誤的,一般來說你就不會去做。
為了把工作幹好你應該熱愛你所做的。如果因為某些原因你不喜歡程式設計了那麼你幾乎不會花額外的功夫來編寫好的可維護的程式。
如果你打算寫一手好程式那麼你就應該 改變你對程式設計的看法。
你要把程式設計看成一門藝術而你自己則是一個藝術家。那麼你就不會因為懶惰和不小心而犯錯。
作家會把一篇未完成的文章發表麼?畫家會把未完成的畫作拿來出售麼?歌手會在他的歌中唱沒有用的歌詞麼?
絕不會。
對程式設計來說也一樣。任何情況下,都別編寫未經測試的半吊子程式碼。在你的程式未寫完前,不要釋出它。別編寫不會使用的無用程式碼。
這都是一些我們犯的一般性錯誤,因為我們喜歡在工作花更少的時間而去幹其他事情。但這是不行的,遲早你都會為確保你的程式碼不出問題而負責。
越早的練習正確的程式設計方法,就對你的使用者和自己越好。有時成為一個好的程式設計師意味著你不會犯糟糕程式設計師同樣的錯誤。
謝謝大家的閱讀。如果你知道誰不知道這些程式設計技巧的,請你把這篇文章發給他們,以便讓他們成為好的程式設計師。
轉載地址:https://blog.csdn.net/nbxinjian/article/details/51878982
相關文章
- 【漫畫】程式設計師永遠修不好的Bug——情人節程式設計師
- 做個清醒的程式設計師之要不要做程式設計師程式設計師
- 論跟程式設計師談話的技巧:千萬不要跟程式設計師說,你的程式碼有bug程式設計師
- 程式設計師永遠不應該相信"抽象“程式設計師抽象
- 程式設計師,請你不要在坑程式設計師了?程式設計師
- 只會寫程式碼的程式設計師永遠無法出色?程式設計師
- IT人永遠不老,老程式設計師價值何在?程式設計師
- 記:那一個臭不要臉的程式設計師程式設計師
- 程式設計師,熱愛你的 bug程式設計師
- 永遠考慮那個擁有更強寫作能力的程式設計師程式設計師
- 幽默:不要相信 10 倍程式設計師/設計師/領導者!程式設計師
- 程式設計師到底是幹什麼的?請不要再黑程式設計師了程式設計師
- 程式設計師們,千萬不要接私活程式設計師
- 一個老程式設計師的程式設計之路,寫給年輕的程式設計師們程式設計師
- 幽默:不懂OO或DDD的程式設計師永遠無法get到這個幽默程式設計師
- 以前的程式設計師,現在的程式設計師程式設計師
- 程式設計師千萬不要學演算法!程式設計師演算法
- 程式設計師到底要不要接外包?程式設計師
- 程式設計師一定不要固步自封程式設計師
- 不會填坑的程式設計師不是一個好程式設計師!程式設計師
- 美女程式設計師觀點:程式設計師最重要的非程式設計技巧程式設計師
- 不要現場程式設計程式設計
- 程式設計師何苦為難程式設計師?程式設計師
- Oracle 程式設計師吐槽:永遠不會再為 Oracle 工作了 !Oracle程式設計師
- 作為程式設計師,這份Markdown備忘單你永遠需要程式設計師
- 為什麼程式設計師千萬不要重寫程式碼?程式設計師
- 【1024程式設計師節】程式設計師,你學程式設計的初衷是什麼?程式設計師
- 第一個想取代程式設計師的AI程式設計師,失敗了?程式設計師AI
- 程式設計師為什麼千萬不要瞎努力?程式設計師
- 普通程式設計師和厲害程式設計師的差距!程式設計師
- 千萬不要相信程式設計師在加班時間寫的程式碼!程式設計師
- 招個程式設計師,難?程式設計師
- 做任何職業都不要做程式設計師,特別是Java程式設計師,血淋淋的教訓程式設計師Java
- 幽默:程式設計師成功完成程式設計的眼睛程式設計師
- 程式設計師的差距在哪裡?程式設計師的三個級別,你在哪裡?程式設計師
- Java程式設計師必須掌握的5個註解!Java程式設計師
- 我為什麼不要30歲以上的程式設計師?程式設計師
- 好程式設計師:Java程式設計師面試秘籍程式設計師Java面試