Re: [請益] 工作四年多開始迷惘

看板Soft_Job作者 (dk)時間6年前 (2018/04/16 09:19), 編輯推噓2(201)
留言3則, 3人參與, 6年前最新討論串9/12 (看更多)
鏘鏘好, 個人曾經做過兩年某產品的 tech support, 處理過 n 百個各種大小客製/bug patch/等等等的臨時性大小修改, 小從元件行為的改變, 如 calendar 只要選到年或月不要到日, 大到 DB 資料太多要用某元件載入時會讀太久怎麼改善的整體調整 每天處理 3~5 個不等 個人認為 1. 它們不衝突 可以 "先" 不論程式如何, 快速的解決問題, 然後 "再" 把程式整理得乾淨整齊一點 2. 它們其實是依賴關係 就以你的例子, 要插入 if ... 解決好了, 能簡單插入 if 然後 return true 解決, 表示最少整理成一個函式, 這已經是 clean code 的一部份了 Ref Clean Code Chapter 3 Function 簡報 第 6 頁 : Do One Thing (你的例子裡是判斷權限) https://www.slideshare.net/kentwelcome1/clean-code-chapter-3-function 你的例子其實正好支持了 clean code 有用這件事情, 不然連要在哪裡插 if 可能都找不到呢 當然我相信一定也有只能一層層硬加沒辦法整理得更好的情形, 但那表示整個邏輯就是那麼複雜、就只能那樣做, 和能簡化時不簡化、能弄得整齊乾淨不弄放著爛, 是完全無關的兩件事 大概4醬 ※ 引述《accessdenied (存取違規)》之銘言: : 還是很多人對 clean code 的烏托邦有著不切實際的夢想.... : 醒醒看看 real world 的例子吧...... : 下面都是真人真事 : 有一天,客服接到客訴,客人發現我們用戶條款有模糊不清的地方,導致客人使用我們的 : 服務權益受損。因為某個功能,原本設定為VIP方案才能使用,但用戶權益沒有釐清,導 : 致這個初階用戶認為自己應該也享有這個功能。 : 在解說無效下(通常都是無效的),客戶要求退費並且威脅要 消保官和發文抹黑,客服 : 經理當然為了公司品牌、保全用戶,決定個案處理讓這位客戶能特別使用這個VIP功能... : .,並且承諾明天就生效。 : 回到 RD 場景,這種 Member.Level 1 的客人要能夠使用 某特定 Level 3 的功能,而且 : 不是所有 Level 3 都能用,只有某一隻 Level 3 的功能.... : 幹,明天就要生效?RD 默默地下 SQL 查出這位客戶的 ID, 在那隻 Level 3的功能的 au : thorize code 寫下一行非常骯髒的 : if (cid == 65432) return true; : 上版。 : 事情過後,客戶不吵了,RD 內部安排要不要 重購 這個 hotfix, 在 Db 內設定一個exce : ptional member 的資料表,讓客服可以有 UI 設定這種 Level 不到位的特殊顧客? : 客服經理說:不用,這種情況不會再發生!我們已經更新的客戶權益說明,排除這種誤解 : !不會再有下一人! : RD 面面相覷,客服經理說不會再發生,那我們還需要投入資源做一個例外模組嗎?還是 : 就讓那個帶著 magic number 的怪異 if 停留在程式碼中? : 真實世界的選項是什麼,相信大家猜得到。 : 過幾天,又發生公司因為系統上版過久,超過官網公告的 downtime 維護時間。等著使用 : 公司系統的用戶逐一抗議自己的權益受損,支付吃到飽的費用卻超過公告時間無法使用.. : .. : 接下來談的補償辦法,又是目前系統根本沒有設計過的方式,跟上面提到超越Level限制 : 又是不同的作法。RD 們又開始那著這些客戶清單,一條條地輸入 : If (cid == ..... : 回頭來看,當初沒有開發那個 Level 例外的模組是對的,因為後面發生的例外處理,解 : 決方案是什麼根本無法預料! : 但是,這就是「營運」啊!這些處理真的就讓公司能在市場上繼續發光發熱! : 就連 MS 也做過類似的事情,這未來有空再說。 : 這些dirty code有沒有影響未來系統的修改? : 有的!像是這些寫死的邏輯,那些客戶現在還在使用嗎?還是早就解約離開了?還在使用 : 的,我們更新功能要怎麼維持當初客服保證的補償不會受影響? : 這些都變成修改系統的干擾。 : 但是,這些頂多增加修改的成本和難度,卻沒有害當初公司業務根本做不起來。 : 這就是一種技術債槓桿。 : 我想問那些把 clean code 和 DP 看得甚高的工程師們,在這樣現實的商業生活中,你會 : 怎麼做的讓我刮目相看呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.62.97 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1523841596.A.A00.html

04/17 00:47, 6年前 , 1F
讓髒code比較不髒XD
04/17 00:47, 1F

04/17 03:06, 6年前 , 2F
離開營地前,讓營地比使用前更加乾淨。
04/17 03:06, 2F

04/17 09:54, 6年前 , 3F
拉完屎要沖水擦屁股
04/17 09:54, 3F
文章代碼(AID): #1Qq_eye0 (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1Qq_eye0 (Soft_Job)