推 yangs0618: 推個 希望有機會聽到進一步分享how10/28 07:58
→ yangs0618: On提出數據說服主管/管理層 開發是越來越耗時間10/28 07:59
→ panbanana: 要怎麼跟上頭說開發越來越久跟code quality有關10/28 08:18
幾個很簡單的學術名詞就能說明,我相信大家也知道
耦合性 如果我改A模組,B模組就需要跟著改 (這還是B模組沒有牽連其他模組的情況下)
經驗法則告訴我們 改的模組越多,消耗的時間也越多
所以時間成本增加
正交性 如果一個錯誤設計的函數其副作用會影響到非預期的變數或狀態(非正交)
非正交的設計會導致bug甚至影響業務的正確性
生活化的例子:「如果你今天開熱水器,結果旁邊的維波爐也開了」
不會抓狂嗎?
所以時間成本增加(你要再請工程師花時間解bug甚至賠償客戶)
粒度 你是希望有一千個功能相似又微妙差異的工具,每次要選擇都要重新翻箱倒櫃
還是你是希望有十個零件可以組出一千種功能?
不一定有對錯,但從新人教育程度跟熟悉的速度,
認識十個零件肯定是比一千個工具之間的細微差異還簡單
粒度低可以降低時間成本
這些都是理論,我相信對沒有技術背景的人來說也不難懂
那數據呢?統計呢?
從ticket、commit的內容我們可以發現,一定是有某些模組、某些類別、某些函數經常
被更改,而這些程式碼才是最有價值的地方,因此程式碼的重要性、頻率是可以從執行
紀錄、commit等資訊來加以量化的
如果某個模組特別容易出bug,很有可能是其模組本身或是其使用的模組有問題
這時你才有機會說服管理階層建立測試及其重要性
管理階層重視的不是工程師寫程式舒不舒服,而是用戶有沒有受影響?能不能減少公司
的執行成本?
測試可以盡量避免工程師改壞功能,而只有保證不改壞程式碼,工程師才有可能說服
管理階層允許大幅改寫原始的程式碼
而如何證明code quality跟test可以降低執行成本?這需要有證明的材料,如果某個
模組的code quality很高,而該模組相關的開發與維護速度都比其他模組來得有效率,
那也許可以透過比較間接證明此觀點 (但有些政治因素比較重的辦公室,我不推薦你
去比較)
如果現在沒有"你認為"品質好的程式碼,你就只能不斷透過能力證明而且去創造
你要說服管理階層,只能從管理階層重視的價值著手
最後做個總結:
遇到code quality差的公司建議直接跳槽
--
https://i.imgur.com/1VlaBnp.png
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.109.122 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1698484595.A.43B.html
推 aa08666: 我反而 建議 遇到錢少的 在跳過 即可 10/28 17:23
推 abccbaandy: 講一大堆結論還不是不爽不要做XDD 10/28 18:13
推 Kroner: 關節痛睡覺就能治了,吃什麼UC2 10/29 13:43→ happy8649: 你可以直接推文最後一行 10/28 18:20
推 lchcoding: 推-簽名檔 10/28 18:50
推 jpg74568: 推 總結 10/28 19:27
推 TSMCfabXX: 總結簡單明瞭 10/28 19:45
推 Kroner: 最近天氣變化大,關節痛好像更嚴重了。 10/29 16:55推 andy00andy: 講得好 10/28 19:57
推 yangs0618: 感謝分享 覺得這些是光靠自己下班精進很難有機會提升 10/28 20:43
→ yangs0618: 到的能力 10/28 20:43
推 viper9709: 推最後一行 10/28 20:54
推 Kroner: 關節痛就老人病 10/29 19:44推 purplvampire: 知識文 10/28 21:25
推 shieldsky: 推這篇量化方式,看來有測試真的是很重要的一環 10/28 21:27
推 Nitricacid: 推總結 10/28 22:04
推 vi000246: 其實 $$跟code quality沒正相關 選錢多的即可 10/28 22:07
推 Chricey: 關節痛這種東西靠UC2就對了 10/30 04:59→ vi000246: $$多 大便也能變香 10/28 22:07
→ flash5408: 2023都要結束了 還有沒test的公司喔 工程師心臟很大耶 10/29 05:51
→ flash5408: 10/29 05:51
推 s06yji3: 沒有test的公司100年之後還是會有。 10/29 08:27
推 Chricey: 關節痛有人有有效的復健方法嗎? 10/30 08:58推 mathrew: 沒有test的公司,比你想像中多得非常多 10/29 10:07
推 rtoday: 推 10/29 10:15
→ abccbaandy: 想到面試問測試,一堆答自己測,甚至啥工程師要能保證 10/29 13:42
→ abccbaandy: 正確性這種幹話的,沒QA就乖乖承擔風險好嗎... 10/29 13:43
推 Kroner: 5樓關節跟X一樣 10/30 17:21→ Mrhonest: 沒時間寫測試至少發PR主管review一下還比較保險,至於 10/29 13:56
→ Mrhonest: 那種想推code就能推的 老實說多到爆,光一堆接案公司根 10/29 13:56
→ Mrhonest: 本沒在管這塊的,更不用說傳產 10/29 13:56
推 s860134: 下次把最後一行移到第一行可讀性會更高 10/29 16:55
推 Kroner: 關節痛這種東西,比鬼還可怕! 10/31 08:29推 kaitokid2: 2023都要結束了,一條龍工程師比你想的還多... 10/29 17:03
→ kaitokid2: 從談需求、架設備開VM或開雲端,設計資料庫寫程式 10/29 17:05
→ kaitokid2: 到測試、佈署,然後客服,一條龍工程師! 10/29 17:05
推 a82611141: 推總結 10/29 19:44
推 Kroner: 我也有過關節痛的經驗,真的超痛苦的啦!推薦去看醫生,早點處理比較不會拖延變嚴重。 10/31 18:38推 jheli: 推推,真的是這樣XDDD 10/29 22:58
推 art1: 連客服都要兼的工程師真的是讓人無比欽佩 XDDD 10/30 01:03
→ labbat: 作為客戶的窗口,那不是產品應用工程師的常態嘛 10/30 01:09
推 IhateOGC: 現實是公司沒給你測試人員 10/30 04:59
推 Chricey: 關節痛這種東西,比鬼還可怕! 11/01 04:56→ IhateOGC: 犯錯出包自己扛,做不出來也你扛 10/30 04:59
→ IhateOGC: 還是當舔狗比實作苦做的出路好 10/30 05:00
噓 B0988698088: 粒度是支語 10/30 07:35
https://www.ithome.com.tw/article/49179
https://dlcenter.gotop.com.tw/PDFSample/A532.pdf
台灣出版社現在翻粒度、清華大學資訊工程系的博士研究生也用粒度
你是沒讀過書還是支語腦?哪種?
推 AxelGod: 你就是測試人員! 10/30 08:58
→ AxelGod: 一條龍啊 10/30 08:58
推 ck237: 喔這個想法正面我喜歡 10/30 09:00
※ 編輯: bachelorwhc (36.231.109.122 臺灣), 10/30/2023 09:13:54
推 Rutshuru: 推總結 10/30 09:49
推 alex780312: 推結論XD 10/30 17:21
推 nyitalumnus: 專有名詞用英文比較好。如果沒有看你解釋的話,相信 10/30 22:45
→ nyitalumnus: 大部分的人應該也不知道粒度是什麼? 10/30 22:45
→ foreverk: 粒度可能還不到常識等級的詞,但不會是什麼大部分人都 10/31 08:29
→ foreverk: 不知道的詞,尤其是這行 10/31 08:29
推 NccuShuai: 在這個版講粒度還好吧 10/31 11:59
→ tzouandy2818: 在國家教育研究院樂辭網查 確實大多數都是翻粒度 10/31 17:16
我國中時讀軟體工程的書就寫粒度了,真不知道某些支語警察是不是沒念過什麼書
推 del680202: 真是中文跟專業能力一樣好 10/31 18:38
※ 編輯: bachelorwhc (36.231.120.192 臺灣), 10/31/2023 19:07:49
推 FukadaKyoko: 推~~~~直白易懂~~ 10/31 19:33
推 gpctv: 推這篇,也非常同意27樓 10/31 23:39
推 IhateOGC: 看錢做事啊,沒錢沒人力搞啥模組oop 11/01 04:56
→ IhateOGC: oop太趕時間弄出來的只是垃圾 11/01 04:56
推 IhateOGC: 去做台電台水準時下班不是很爽嗎? 11/01 04:59
推 ppc: 粒度這個翻譯還不錯 11/01 14:27
推 johnny94: 說粒度是支語的大概是文盲吧 11/05 19:27