年輕人不講碼德,我大意了,沒有 Review!

原文:山言兩語

一週新的一天先來劃下水。。。以下十大爛代碼,保證你遇到了也會噴!

現在的年輕程序猿,不講碼德,來 copy,來亂打鍵盤,被發現了才說對不,對不起,我不懂規矩。我說你這可不是亂打的,訓練有素,油備而來,就是要來把項目搞得不好維護!

以下排名不分先後

奇葩命名

abcd, asdf, a1, tmp, shangpin, TabFragmement

其實我本人英文也不好,但是現在翻譯軟件這麼方便,不會就翻譯一下啊,而且 AS 都給你提示Typo: In word 'XXX' 難道你是瞎嗎?

無意義的代碼

截圖項目中真實遇到

僞裝欺詐

比如方法名叫 login() 結果方法里根本不是去登錄,而是去註冊。

再比如RelativeLayout frameLayout = findviewById(xxxx)你就說你這玩意到底是啥?

奇葩註釋

  • 不寫註釋,自以爲自己的代碼精妙無比,無需註釋,提測後有 bug 自己都看不懂了
  • 說謊註釋,註釋的東西根本和代碼寫得不一樣,當然可能不是故意的只是更新了代碼沒更新註釋
  • 廢話註釋,//不要問我爲什麼這樣寫,我也不知道; i+1;//這邊需要+1

Copy & Paste

幾乎一樣的代碼拷得到處都是,emmmm, 公司又不是按代碼量開工資,你抽取複用一下會死?

大量嵌套

可以在一行代碼上使用超過10層的小括號() ,或是在一個函數裏使用超過20層的語句嵌套{},把嵌套的if else 轉成 [? :] 也是一件很NB的事。

地獄回調也是表現之一

捨不得刪代碼

沒調用的方法不刪,註釋掉的代碼不刪,留着當傳家寶?

混亂參數

同一套接口,有的時候rawRectangle(height, width) 有的時候drawRectangle(width, height)

如果你不理解,那再舉個例子,時間單位有時候用秒有時候用毫秒,而且方法名或參數名上看不出來任何差別。

項目裏還遇到過有個 SDK,不同接口給的座標系一會左上角爲原點,一會左下角爲原點。導致我繪製的時候總得先試試,薛定諤的原點,不繪製上去永遠不知道原點在哪。

藉口

寫爛代碼從來都是說時間太趕;
寫 todo , never do;

腦洞代碼

fun sort(arr: Array<Int>) {
    for (i in arr) {
        thread {
            Thread.sleep(i.toLong())
            print("$i,")
        }.start()
    }
}

這個是個段子,湊下數。

最後

我勸寫過上述代碼的人耗子尾汁,好好反思,以後不要再犯這樣的聰明,小聰明!

阿,呃,猿們要以和爲貴... 要講碼德,不要搞窩裏鬥,給我點個贊再走,謝謝朋友們!

Android面試知識點參考.github

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章