看板 Gossiping作者 cosmite (焼き団子)標題 [問卦] 如何寫自己容易維護 別人難懂的CODE時間 Tue Oct 5 18:24:30 2021
以前我寫CODE
都會把 段落註解 跟 方程式功能 寫得清清楚楚
後來 主管以為時間到CODE就會出來 對員工也越來越不尊重
重用嘻嘻哈哈會捧懶的員工
受不了了
自此註解都不再寫 但是元件命名 常數定義還是寫得很清楚
現在想要建造城牆 讓CODE不容易讀 不容易被理解
如何寫自己容易維護 別人難懂的CODE ?
多使用MACRO巨集 ? 把一個程式拆成多個小程式 ? 程式繞來繞去 ?
元件命名用簡寫 自己要看再查表 會不會造成自己困擾 ?
有卦嗎
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.30.118 (臺灣)
※ 文章代碼(AID): #1XN2VXnM (Gossiping)
※ 文章網址: https://www.ptt.cc/bbs/Gossiping/M.1633429473.A.C56.html
推 elec1141: 發明A語言1F 114.136.154.84 台灣 10/05 18:25
推 adon0313: 一個月授權一次2F 180.217.48.230 台灣 10/05 18:25
→ OrzOGC: 包成dll/so,只有你知道怎麼用3F 61.224.29.217 台灣 10/05 18:25
不太能包起來 CODE都會公開在server
→ qazStarStar: 五樓用被肛的次數當暗碼5F 180.217.216.155 台灣 10/05 18:26
推 aaabbb111: 不寫註解+用magic number, 變數全用global 供您參考6F 111.251.209.252 台灣 10/05 18:26
magic number@@? global變數弄到最後可能自己都不容易懂
推 oven99: 累不累啊,幹嘛不換工作8F 1.200.70.27 台灣 10/05 18:26
這邊穩定阿 雖然可以找更高薪外商的工作 但是穩定性不太確定QQ
推 okgogogo: 這屬於公司資產喔,你只是個員工
換一間才對,別臭了自己業界很小的9F 27.247.70.162 台灣 10/05 18:28
推 ffaatt: 自創暗號11F 180.217.66.64 台灣 10/05 18:30
這好像不錯 把常用字眼換成自己知道的字眼
好像很強
→ leolarrel: 預編成組合語言,再推到server14F 203.75.190.55 台灣 10/05 18:33
這樣做太刻意了 因為寫得不是組語 恐怕是難的
→ leolarrel: 組語不行嘛?那就把OO精神推到極致,15F 203.75.190.55 台灣 10/05 18:36
→ HEINOUS: 有這種主意的員工 你主管真可憐16F 101.12.18.191 台灣 10/05 18:36
→ leolarrel: 在小的事情都用一個物件包起來,瘋狂繼17F 203.75.190.55 台灣 10/05 18:37
推 tryagain24: 你做了這些之後 他一樣重用嘻嘻哈哈18F 1.34.123.219 台灣 10/05 18:37
→ leolarrel: 承跟多載,運算子重載.保證你同事抓狂19F 203.75.190.55 台灣 10/05 18:37
我原本就有這樣做了 看來要做更多
→ tryagain24: 捧懶的員工 還可能被那些人捅你程式CODE弄得很爛 很難懂20F 1.34.123.219 台灣 10/05 18:38
是他們程度看不懂好嗎 有些人就只會if else 然後一個程式500-1000行以上
推 okgogogo: iii + illilil - llili * ijlji / ii
lili22F 27.247.70.162 台灣 10/05 18:40
這個連我自己都難維護了吧
推 terryroc: 所以你是想講自己做人失敗嗎...24F 42.72.120.144 台灣 10/05 18:40
沒有喔 部門分成兩派 跟其他同事感情好 主管裙帶關係用人 被我無意間聽到的
※ 編輯: cosmite (60.250.30.118 臺灣), 10/05/2021 18:42:12
推 LYSLYS: Obfuscation 代碼混淆25F 60.251.197.175 台灣 10/05 18:41
→ tryagain24: 那他們可能已經捅你寫很爛了26F 1.34.123.219 台灣 10/05 18:41
那些人是不太會寫CODE的 頂多解BUG
創造新功能是比較有問題的 所以不可能桶 因為他們程度差有問題
推 mpyh12345: 瘋狂遞迴27F 101.137.189.144 台灣 10/05 18:42
遞迴原本就有部分使用 但那是逼不得已的情況使用
→ HKCs: 用一堆演算法28F 223.136.4.103 台灣 10/05 18:52
演算法我還好淺 是個好主意
※ 編輯: cosmite (60.250.30.118 臺灣), 10/05/2021 18:54:43
推 poltmer990: 去學文言文
總之以你自己的方式,把註解壓縮到寥寥數字
甚至玩二次元梗也行
自己一看就懂,別人一看就懵29F 223.139.133.250 台灣 10/05 19:10
推 iq1000x: 公司都逐行code review 你想亂寫也沒機會34F 39.11.226.1 台灣 10/05 19:16
主管根本沒在看code 還有點老花 厲害了吧
推 hahahank: 有意義的亂命名35F 39.8.167.133 台灣 10/05 19:18
置換名詞的意思嗎?value改box temp改cloud?
※ 編輯: cosmite (114.136.79.35 臺灣), 10/05/2021 19:18:31
※ 編輯: cosmite (114.136.79.35 臺灣), 10/05/2021 19:19:51
噓 ter2788: 浪費生命自己搞自己36F 223.139.159.42 台灣 10/05 19:21
推 rogergon: 我是老闆第一個叫你滾蛋37F 223.136.20.11 台灣 10/05 19:25
有員工用未定義的數字很久了 老闆也沒說話 他大概認為功能可以動就好了吧 code怎麼寫的感覺不是很在乎
※ 編輯: cosmite (114.136.79.35 臺灣), 10/05/2021 19:34:45
推 iamcnc: 我有看過一個for 三千行 給你參考38F 111.255.209.95 台灣 10/05 19:44
for 3000行也太恐怖了吧==
※ 編輯: cosmite (114.136.79.35 臺灣), 10/05/2021 19:45:37
噓 SkyIsMyLimit: 幼稚 幹嘛浪費人生在這種事情40F 1.169.76.193 台灣 10/05 19:52
推 herman602: 變數全部換成abcdefg 有tool41F 114.34.51.238 台灣 10/05 20:02
推 DDR678: hardcore functional programming42F 118.160.80.116 台灣 10/05 20:09
推 create8: 用Haskell 改寫就對了43F 2.122.86.8 英國 10/05 20:15
→ Benetnasch: 換工作啊,coding的生活不是一直持
續進步嗎,怎麼搞的像傳產文化44F 223.136.92.180 台灣 10/05 20:20
推 sazdj: 變數用台語發音 例如length改dengdo widt46F 180.217.133.80 台灣 10/05 20:40
我有想過用日文
→ sazdj: h改kuando47F 180.217.133.80 台灣 10/05 20:40
※ 編輯: cosmite (220.134.215.159 臺灣), 10/05/2021 20:42:50
→ checkbox: 註解不是用來誤導的嗎48F 122.121.24.68 台灣 10/05 20:50
推 ab4daa: 其實你多跳幾層function pointer
code就會開始難追了 嘻嘻49F 125.231.171.106 台灣 10/05 21:07
推 drinkmuffin: 寫自己才看得懂的註解,註解這個東西其實不能亂寫,因為註解也需要維護,久沒維護會誤導51F 42.75.103.161 台灣 10/05 21:15
推 zero00072: 多包一手多一層鬼,懂了吧,天才外包。54F 42.72.118.15 台灣 10/05 21:37
噓 BlowjobFace: 變數用a-z function也a-z 不要縮排55F 106.104.80.144 台灣 10/05 21:58
→ frontpagexp: 額外寫變數定義表,就能自由發揮拉56F 118.167.240.189 台灣 10/05 22:27
→ spiriturl: 不要為了笨蛋回頭耽誤自己0.0,繼續往前走吧57F 39.9.105.246 台灣 10/05 23:44
推 godchildtw: 自己留有詳細註解的版本,給公司的版本把註解刪光。
變數名函數名隨便取名,註解才是有意義的名稱59F 111.83.201.15 台灣 10/06 07:32
--