友快網

導航選單

編碼編成翔的十八般兵器

程式設計師最怕讀別人的程式碼,比這個更可怕的是什麼?

從別人那裡接手一個老專案

前任程式設計師或者是編碼能力不行,或者是跳槽之前故意擺爛……於是,一個隱藏著一堆爛攤子的專案,扔給了後來接手的人。

本來以前是程式碼裡夾翔,後來就是翔夾程式碼了。

這些翔有各種各樣的風味,其中就有那麼十八種味道最是沖人。

1。 塊裡堆上我滿滿的翔

Java 中有著無數的語句塊,這些語句塊可以巢狀。於是我們有很多優秀的產翔大師會在這些語句塊中不斷地巢狀,猶如無數層的俄羅斯套娃。

2。 把翔藏在註釋裡,有時候它會“驚豔”了世界

有些哥們兒很雞賊的把一些程式碼藏在註釋裡,這些程式碼可以隨時成為定時炸彈。

上面這段程式碼執行之後,說好的“Hello”呢?

3。 我家大門常開啟,歡迎錯誤走進來

在 Java 中,如果你想接手一個專案,看到一個父類的欄位是非 private 的,而子類還存在同名欄位,要注意了,這個專案的前任可能比較渣,你可能會惱火的想給他燒紙。比如:

你這樣測試下看看

4。 我抓到了異常,但是我不想處理了,因為我要離職了

有些哥們兒走之前可能人未動心已遠,也可能是懶的處理異常,他會給你留下一個謎之空白。

對不起,兄弟,你留下這種薛定諤的處理是想讓人幫你掀桌嗎?

5。 只要我不考慮任何意外的情況,那麼專案就一定會出意外

有些直性子的人,認為天下萬物都可以直來直去,就好像直男只會讓女生“多喝熱水”一樣。所以,他們寫的程式碼非常直率,直接就不考慮意外情況。

上邊的程式碼很直率,既不考慮 a 可能為 0 的情況,也不考慮陣列越界。直來直去,就好像“我不尷尬,尷尬的就是別人”。

6。 我要把方法裡可能的異常藏起來不告訴任何人

還有些哥們也不知道是不是有什麼見不得人的事情,該丟擲來的異常從來不丟擲來,導致你根本不知道發生了什麼事情。

上面的程式碼裡,如果檔案找不到,接手人要撞牆的。

7。 我不走正道,因為我是個光榮的產翔俠

還有些人,不知道從哪裡學會的邪門歪道,喜歡透過在捕獲異常裡寫業務邏輯。對這種人,你九陰真經練成了梅超風啊。

我就想問問,如果以異常來控制流程,那麼如何在這些異常中尋找真正的異常情況?

8。 為了我走之前不出意外,我要捕獲所有的 NPE

有些哥們兒會把 NPE 捕獲住,恩,不解決問題,但是把提出問題的人給解決了。

但是呢,這在正常的業務邏輯裡很可能就把別人坑了,因為 Null 本身就是代表著一種非法狀態。拿著前朝的劍斬今朝的官,包大人乾的好啊。

9。 一個方法我如果寫成一萬行,公司一定會倒閉的

有些朋友可能有分離焦慮症,一個方法裡能寫上 1 萬行程式碼。對不起,讀書讀幾頁都會犯困,讀你這一萬行程式碼……

10。 我要把所有業務邏輯都揉進幾個類裡,就好像女友第一次來我家

有些哥們,你看看他負責的專案,你發現整個專案沒幾個類。你很納悶,覺得業務很複雜,竟然可以實現的如此簡單嗎?你再開啟他的類看原始碼,哦豁,這就是個垃圾箱啊,什麼都能往裡塞啊。

哥們兒,這不是女朋友去你租的房子裡,你為了顯得乾淨,把你那些垃圾到處塞啊。

11。 是男人就來看我繼承一百層類

有些爺爺不知道怎麼想的,在他們眼裡可能只有兒子和老子,一個類很不得搞一百層的類繼承。你這樣繼承,您家萬貫家財還能遭得住嗎?

12。 如果我不用快取,我就能多浪費公司的幾臺伺服器

還有些哥們兒,明明知道他這個功能可能被頻繁訪問,比如登入的時候查相關的白名單、黑名單。哥兒們兒知道併發量大,可從來不想套個快取,就是死從資料庫裡要資料。資料庫想:生產隊的驢也沒我這麼忙啊。

13。 執行緒安全?那是什麼?能吃嗎?

有些號稱老程式設計師的老司機們,經年有餘的不管執行緒安全。上來口吐非同步同步,可是到手上了,執行緒就是個後孃養的,不管人家的資料安全了。合著身前叫人家小甜甜,落地了叫人家牛夫人了?

14。 在我手中無物不鎖

還有些哥們兒,怕執行緒跟怕老婆一樣,一旦可能多執行緒了,上來先上個同步鎖。你開啟他寫的程式碼,十個方法十把鎖。于謙兒這種大戶人家也不帶這樣上鎖的啊。

15。 我只知道 ArrayList,LinkedList 它配我用嗎?

有些兄弟可能只知道 ArrayList 能放東西。就算需要動態調整的場景,哥們兒也從不考慮 LinkedList。系統慢的跟龜爬一樣,愣是說系統遇到瓶頸。

16。 我的方法裡有無數的引數,也許裡面需要一個宇宙

有些程式大師,他需求可能比較多,性格比較貪婪。寫的方法也跟性格一樣邪惡,一個方法需要的引數,從天上到地下,什麼都需要。你要調他的方法,就跟有個黑洞吸住你不放一樣,陷進去你就出不來了。放我去飛好不好?

17。 遞迴裡偷偷抹掉出口條件,就讓伺服器的 CPU 燃燒殆盡吧

有時候看到沒有出口的遞迴方法,你就知道,寫這段程式碼的人的人生是多麼悲催,他悲慘的連測試都不敢,生怕碰傷了自己。沒有出口的遞迴,就跟沒有出路的人生一樣。

18。 如果我不關閉資源,那麼我就能讓公司多花些記憶體錢

用了資源您不釋放,您是嫌山上的筍不夠採,下山來奪筍了吧。行行好,放了那個資源吧。

·················END·················

上一篇:i2外教說 | “老師”到底意味著什麼?值得信賴!
下一篇:“國風”黑馬模擬經營遊戲《叫我大掌櫃》“身份證”合規嗎?