Java程式設計師可能會犯的幾個錯誤, 看看你是不是躺槍了?

weixin_34321977發表於2018-12-16

對於每一個攻城獅或者程式媛來說或多或少犯過一些錯誤,下面小編就盤點了一下會出現的一些錯誤。

11282935-1fab9305b2e69057.jpg

1、面向編譯器寫程式碼,而不是面向使用者

當人們使用編譯器建立自己的 app 時,在把自己的想法訴諸於機器程式碼的過程中,常常會將那些可以使得程式設計更為簡單卻又冗長的語法遺忘於腦後。

無論你使用的是單字母的識別符號還是更易於人腦理解的識別符號,對於編譯器而言,毫無區別。編譯器不在乎你寫的是否是優化表示式,也不在乎你是否用括號封裝了子表示式。編譯器要做的就是將這些人腦可讀的程式碼,解析為抽象的語法樹,並將這些樹轉換成機器程式碼,或某種中間語言。

11282935-6afb0f8a79a91463.jpg

那麼,為什麼不使用更可讀或者語義更明顯的識別符號呢——而不要僅僅是I,J或x。老實說,現在我們用來等待編譯器完成轉換識別符號的時間幾乎是微不足道。但是,這麼做卻可以大大減少你和其他程式設計師用於閱讀理解這些原始碼所用的時間。

11282935-ab551eda8f349f4d.jpg

2、密碼不加密

不注重資料安全性,也就是後臺資料庫明文儲存密碼,正常情況資料庫儲存的密碼都是加鹽加密過後的,也就是我們在上網的時候密碼忘記之後只能重置不能找回,因為他們後臺雖然能看見密碼,但是是加密過後的,沒有任何用。某次你登入一個網站,密碼忘記之後聯絡他們,他們居然把密碼給你傳送過來了,那麼趕緊登出把,太可怕了,萬一這個網站的後臺被黑或者惡劣的程式設計師拿到密碼到處亂髮,想想都覺得可怕,千萬別接觸這類網站。

11282935-3d34776cf45173cd.jpg

3、使用全域性變數

話說回來,有的程式語言是完全沒有區域性變數這個概念的,所以不得不使用全域性變數。關於全域性變數,雖然我們可以在子函式中使用它,但是卻沒辦法宣告這一變數只能在該函式中使用。儘管如此,全域性變數依然非常受歡迎,因為我們只需宣告一次,即可到處使用,太省時省力了有木有。

但是它的優點也是它的缺陷,這也是關於全域性變數最糟糕的事情——我們沒有辦法控制它的改變,也沒辦法控制何時去訪問變數。假設某個全域性變數在呼叫到程式之前賦予了一個特定的值,但是很可能呼叫完了之後值就變了,而你卻毫無察覺。

11282935-52808a38eb14effe.jpg

4、技術跟不上更新:

這個行業知識更新太快,比手機都快,新的指令碼、語言、框架層出不窮,悶頭敲程式碼一年,抬頭一看你已經跟不上時代的發展了,而你如果還抱著一些陳舊的逐漸在被淘汰的技術不放,不願意學習和了解新的程式設計方法和技術——那麼你終會被淘汰。

11282935-f692d1b65f71c448.jpg

相關文章