🔥 PTT.BEST 批踢踢爆文 💬 八卦 Gossiping 😊 希洽 C_Chat 💰 股票 Stock 🏠 房屋 home-sale 🏀 美國職籃 NBA ⚾ 棒球 Baseball 👛 省錢 Lifeismoney 🚗 汽車 car 😡 政黑 HatePolitics 💻 電蝦 PC_Shopping 🥰 韓星 KoreaStar ✨ 英雄聯盟 LoL 🍿 電影 movie 🪖 軍事 Military 📡 通訊 MobileComm 🏀 台籃 basketballTW 🍼 寶媽 BabyMother 🇯🇵 日旅 Japan_Travel 🏭 科技 Tech_Job 👉 男女 Boy-Girl 👉 真香 CheerGirlsTW 👧 女孩 WomenTalk 👻 媽佛 marvel 💳 卡版 creditcard 👉 NS NSwitch 👉 PS5 PlayStation 👉 大氣 TY_Research 👉 婚姻 marriage 👉 台南 Tainan 👉 台中 TaichungBun 👉 Steam Steam 👉 高雄 Kaohsiung 👉 羽球 Badminton 👉 超商 CVS 👉 米哈遊 miHoYo 👉 iOS 👉 兄弟 Elephants 👉 日劇 Japandrama 👉 玄幻 CFantasy 👉 ES e-shopping 👉 WOW 👉 遊戲交易 Gamesale 👉 4X BaseballXXXX 👉 Lakers 👉 韓劇 KoreaDrama 👉 汽車買賣 CarShop 👉 機車 biker 👉 新竹 Hsinchu 👉 美保 BeautySalon 👉 串流 OTT 👉 歐美影集 EAseries 👉 手機交易 mobilesales 👉 健身 MuscleBeach 👉 MacShop 👉 Lions 👉 FGO FATE_GO 👉 中劇 China-Drama 👉 數位貨幣 DigiCurrency 👉 暗黑 DIABLO 👉 實習教師 studyteacher 👉 航空 Aviation 👉 藝文票券轉售 Drama-Ticket 👉 韓綜 KR_Entertain 👉 美妝 MakeUp 👉 速食 fastfood 👉 手錶 watch 👉 體適能 FITNESS 👉 攝影 DSLR 👉 Headphone 👉 嘻哈 Hip-Hop 👉 轉珠 PuzzleDragon 👉 美食 Food 👉 蔚藍 BlueArchive 👉 數位相機交易 DC_SALE 👉 筆電蝦 nb-shopping 👉 軟工 Soft_Job 👉 汪踢 Wanted 👉 台綜 TW_Entertain 👉 坂道閒聊 SakaTalk 👉 貓咪 cat 👉 日GO BabyProducts 👉 TypeMoon 👉 MLB 👉 職場 Salary 👉 臺劇 TaiwanDrama 👉 海賊王 ONE_PIECE 👉 PMGO PokemonGO 👉 國營 Gov_owned 👉 碧航 AzurLane 👉 家電 E-appliance 👉 布蘭德 Brand 👉 DMMG DMM_GAMES 👉 贈送 give 👉 神魔 ToS 👉 銀行服務板 Bank_Service 👉 原創 YuanChuang 👉 期權 Option 👉 重機 SuperBike
看到這篇原原PO在其他篇底下聲稱 「可讀性+100%」 忍不住來回一篇 軟體開發裡面有一件很重要的事情是知識轉移 又稱 knowledge transfer 印度仔會簡稱 KT 你也可以拿這個詞去搜尋 看看印度仔對這東西的看法 有一個很直白的解釋是:在你的腦袋上按複製,在我的腦袋按貼上。 簡單說 每當 A 完成了一個東西要併入主線 或者 B 要參與一個他本來不熟悉的模組 大家都需要 KT 一下 這件事情成本高到靠北 假如你手上有 3 張票 分給三個人做 用了一週做完 你以為接下來再給他們 3 張票 隔週還可以保持一樣的生產力嗎? 錯 隔週他們需要互相 KT,大家都對系統的更動有相當程度的共識之後,才能繼續進行開發 所以隔週大概做不了什麼事情 否則你的系統很快就會東倒西歪 這也是為什麼大型的專案最好有嚴格的框架跟守則 我們希望盡量減少每個人重新學習的時間 當所有人遵循相同的框架在開發 就能更容易理解別人寫的程式在做什麼 這也是模組解藕的好處之一,它可以縮小需要參與KT的人數,你不會希望每個commit都耗 費20個人的學習成本 所以回到最前面那句 「可讀性+100%」 其實根本只有對重寫的那個人而言可讀性 ++ 你讀了原本的程式,你寫了新的程式,新的程式你熟到不行,當然可讀性很高 對我來說這就是一份全新的程式碼 整包程式要拿來重新分析測試,才會知道裡面到底在幹麻 我要猜測你每個類別甚至每個函數的意圖 可讀性可能是 「-80%」 為什麼有些程式一開始看很屎 多看幾次之後你覺得還滿順的 因為我們的腦子就是這樣運作的啊 你瘋狂加班重寫了一整套系統 你當然覺得每個函數都一看就知道在做啥 -- 要重構同時增加可讀性 唯一的方法是一次改動一部分,並且確保每個人都有跟上你的改動 否則只是把知識的鴻溝從小水溝 變成大峽谷 你這樣的改動方式 就好像我叫 AI 加個小功能 然後他給我一包 zip 說我重寫了整套專案 測試過沒問題了 你可以放心取代原本的專案 只有一種情況你這個做法會被接受:你同事跟老闆完全不管程式 把你當 vibe coding 的 工具 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.128.194 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1757909562.A.E51.html
FrozenMoment: 我推這個觀點 09/15 12:43
zyxx: 推 09/15 12:53
ILoveAMD: 就算是自己今天可讀性100% 難保下周同一個時間變50% 09/15 12:55
brucetu: 熬夜到天亮 加上 AI 幫忙寫 隔天連自己的扣都只剩 50% XD 09/15 13:31
marra: 推推 09/15 13:37
crowley: 自己寫的code兩週回來看都要看老半天 09/15 13:38
jackwang01: 推 09/15 13:48
chuegou: 昨天也想吐槽他推文這句 但你講的比我有脈絡多了 09/15 14:10
HelloPPT: 推 09/15 14:26
viper9709: 推這篇講的好 09/15 16:07
alihue: 推 09/15 16:23
lytt: 推 09/15 17:00
a5480277: 自己的code過一個月回來 就會想問問當初自己在寫啥 09/15 17:49
Obama19: 最可怕的是都不討論 然後最後丟出一坨大便 09/15 17:51
single4565: 推 09/15 18:52
newhandfun: 推 09/15 19:31
leokidd1976: 推,我連我自己一年前寫的程式都看不懂了說 09/15 20:47
hsiantinc: 大推 09/15 21:06
abc0922001: 半年前寫的code我都會看git blame看是不是真的我改的 09/15 22:28
k7ji91ab5m: 這2年已經覺得甚麼SOLID 重構 抽象 真的有意義嗎 09/15 22:31
k7ji91ab5m: 不管誰看誰的code都覺得難懂難改 09/15 22:31
brucetu: 真的常常 git blame 到自己 XD 09/15 23:10
brucetu: 軟體工程的各種pattern都是看情況用啦 有些原則比如說DRY 09/15 23:16
brucetu: ,有時候當你能預估到不久後的將來,你正在做的這功能會 09/15 23:16
brucetu: 客製化成某個很難跟別人相處的東西,那就直接複製過來改 09/15 23:16
brucetu: 一改先用啊,有時候重複程式碼看似髒,其實比較好。還有 09/15 23:16
brucetu: 很多時候抱怨扣太屎的人,只是因為他扣看的還不夠熟,等 09/15 23:17
brucetu: 他上手兩個月以上再來討論要不要改 09/15 23:17
knme: 推 09/15 23:50
viper9709: 推樓樓上 09/16 01:08
GoGoRoTM: 推 09/16 09:38
wangyc: 推 09/16 09:40
freezeio: 推這篇 09/16 11:38
Eide: XDD 09/16 21:40
ELivan: 推 09/18 00:35
tim96tim: 謝分享 09/18 18:40
Nicks: 推 這觀點才合理 09/19 13:28
FatFatPig: 推 09/20 23:56
f0915034335: 推 09/21 14:20
wawawa: 不要特別拉出一個時段或任務說要做重構,合格的工程師應 09/23 08:19
wawawa: 該要讓重構隨時發生,小範圍小範圍的處理 09/23 08:19
viper9709: 推樓上 09/23 16:59

👉 軟工 Soft_Job 版:熱門文章

👉 軟工 Soft_Job 版:更多文章