前言 原文網站 可以點擊方塊查看每一個項目 這個網站是在講述如何寫出無法維護的程式碼.作者從大師那學習了某些技巧,這些技巧是關於如何撰寫出無法維護的程式碼,以至於在你之後需要維護的人需要花費數年的時間,才能做出簡單的更改. 個人感覺,這個網站比較像是反諷,發揮人的創造力,就算是一件爛事,也要把它做到最完美. 1. Naming (命名) 1.1 Single Letter Variable Names (用單字定義變數) 可以使用 a, b, c 來定義變數,讓未來參與維護的人員無法猜透變數的意義. 不使用傳統 for 迴圈大家常會用到的 i, j, k ,改成使用 ii, jj , kk 來噁心其他人. 1.2 Creative Miss-spelling (有創意的錯誤拼寫) 如果必須描述變數或 function 名稱,請務必拼寫要錯誤.且不能全部都拼寫錯誤,需要夾雜正確與錯誤的命名方式.讓人在 Ctrl + Shift + F 全域搜索時充滿困難. 1.3 Be Abstract (抽象) 比方說取得資料.就寫成 getData() 不要充分寫出是要取什麼類型的資料. 1.4 A.C.R.O.N.Y.M.S (縮寫) 就只定義A, B, C,正港的男子漢在定義完成後,不會再額外注釋意義.當然定義成 WTF, NMMD 也是可以的. 1.5 Thesaurus Surrogatisation (使用相近的詞來混淆) 要消除無聊,增加困難,將相同的功能使用不同的詞彙來表達,即使功能是完全相同的. 1.6 Reuse Names (相同命名) 全域變數如果已經命名過,function 內再重複命名一次,迫使維護人員需要仔細確認. 1.7 Bedazzling Names (令人眼花撩亂的名稱) 例如 superman, spider man 讓維護人員很難與真實要執行的程式碼連結. 1.8 CapiTaliSaTion (隨機字母大寫) cOmputeR, prESidEnt 1.9 Lower Case I Looks a Lot Like the digit 1 (字母 I 和數字 1 混用) 2. Documentation (文件和註解寫法) 2.1 Lie in comments (在註解中說謊) 也可以不在註解中說謊,只要更新程式碼時,不把更新的原因
留言
張貼留言