Re: [請益] 請問有成功在公司內導入OO觀念的案例嗎?
看著上面的美玉之文 讓我覺得不補充一下細節過意不去
先說, 由上面眾多好文, 我已經大概了解要怎麼做了. 感謝各位寶貴的經驗談.
特別是熱心的lovdkkkk, 來信跟我討論令我受益良多.
---
我所在的team 算新人team, 有支援AB兩個 project, 支援的人數一半一半,
我負責帶支援AB兩個project的新人的技術方面.
我支援的project A的前輩都是身經百戰的強者,
design pattern跟OO思維到系統架構熟到爛.
對重構 & 測試先行 & 物件抽象非常在行, 重構在這邊的進行大致上是沒什麼問題的,
也不用特別去推, 大家都有共識.
有問題的是支援project B的新人, 向我們反映那邊的code實在是....
project B的前輩也是相當熱心的在帶支援B的新人,
但無奈觀念還是在functional programming, 很多寫法在maintain上會出問題而不自知.
也因為這樣, project B在code review的情況只有浪費時間可以形容,
因為project B的前輩幾乎沒辦法給任何建議, 卻要project裡所有人一起
一行一行的code review.
大致上就是這樣的情形, 並不是所有的前輩都沒有OO的概念,
而是project上各自不相干, 所以變成"你強是你們家project的事, 與我們無關"
(事實上兩邊的project架構看得到時代的眼淚, 一邊是view, logic, dao分層,
另一邊則是MVC, domain model, sql全部的code都在同一個class)
所以在A的credit再強, 要到B去發言一樣是無力的(精確一點說, 是會被反彈).
短期內我都是呆在project A支援, 但是同時我也不希望支援project B的人學了一堆
糟糕的習慣回來.
---
看到這裡你們可能會說, 那隨他們去吧, 關你什麼事?
問題就是關我屁事阿=.=||| 而且是不小的屁事.
因為我們是動態支援的team, 所以會有去project B支援的情形.
我原本天真的希望, 我能透過幾個概念性的演說和proof of concept
能有機會讓project B的人接受新觀念, 改變目前copy & paste的可怕寫法.
(他們已經習慣改一個功能要好幾天是非常普通的事)
但就前面的經驗談看起來...好像非得在project B那邊建立起credit才推得了.
即使這樣, 我還是希望早一秒是一秒, 能把好的觀念帶給他們, 但...
可能就像約耳說的
"軟體研發一定有些超自然現象,某種神秘的特質,讓每個人都覺得自己很瞭解它。
這真是太神奇了,沒有人會覺得自己知道怎麼切掉爆開的盲腸,或組裝汽車引擎,
除非他們真的學過,但因為某些神秘不可知的因素,卻使一堆人自以為很懂軟體研發"
我還沒有開始傳教, 因為我知道棒打出頭鳥, 所以一開始我想做的是心得分享而已,
但是我一直在苦惱從哪個切入點才能讓他們願意來聽.
之前他們用原本的方法也活得好好的, 何必學什麼新東西呢?
因為project B走過的路, project A已經走過了.
它們現在改一個地方可能需要一兩天, 但是等到變成project A這種規模的時候
若還是維持原本的寫法不變, 就會變成需要一週.
但是上面給你的期限還是只有2天,
理由是就像lovdkkkk上面提到的, "根據經驗, 這個更動以前就是這麼久".
但以前是十萬本沒歸類的書在圖書館, 現在是百萬本了阿!
趕不上時程怎辦? 加班加爆你那顆健康的肝阿.
因為我們已經走過這段路, 所以一直很重視OO 跟物件權責,
所以我們希望在事情惡化前能先修正它們.
等到我真的去支援project B, 見到百萬本散落一地的書, 然後想到還要先建立
project B的 credit才能防止讓他們繼續腐化, 老實說跟本是浪費project A的經驗.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.248.140
→
04/18 00:26, , 1F
04/18 00:26, 1F
→
04/18 00:26, , 2F
04/18 00:26, 2F
→
04/18 00:29, , 3F
04/18 00:29, 3F
→
04/18 00:31, , 4F
04/18 00:31, 4F
→
04/18 00:31, , 5F
04/18 00:31, 5F
→
04/18 00:32, , 6F
04/18 00:32, 6F
→
04/18 00:32, , 7F
04/18 00:32, 7F
→
04/18 00:33, , 8F
04/18 00:33, 8F
※ 編輯: pokerhand 來自: 220.135.248.140 (04/18 00:33)
→
04/18 00:33, , 9F
04/18 00:33, 9F
→
04/18 00:34, , 10F
04/18 00:34, 10F
→
04/18 00:35, , 11F
04/18 00:35, 11F
→
04/18 00:35, , 12F
04/18 00:35, 12F
→
04/18 00:37, , 13F
04/18 00:37, 13F
→
04/18 00:37, , 14F
04/18 00:37, 14F
→
04/18 00:38, , 15F
04/18 00:38, 15F
→
04/18 00:38, , 16F
04/18 00:38, 16F
→
04/18 00:39, , 17F
04/18 00:39, 17F
推
04/18 00:40, , 18F
04/18 00:40, 18F
→
04/18 00:41, , 19F
04/18 00:41, 19F
→
04/18 00:41, , 20F
04/18 00:41, 20F
→
04/18 00:41, , 21F
04/18 00:41, 21F
→
04/18 00:41, , 22F
04/18 00:41, 22F
→
04/18 00:42, , 23F
04/18 00:42, 23F
→
04/18 00:42, , 24F
04/18 00:42, 24F
→
04/18 00:43, , 25F
04/18 00:43, 25F
→
04/18 00:44, , 26F
04/18 00:44, 26F
→
04/18 00:44, , 27F
04/18 00:44, 27F
→
04/18 00:45, , 28F
04/18 00:45, 28F
→
04/18 00:45, , 29F
04/18 00:45, 29F
→
04/18 00:46, , 30F
04/18 00:46, 30F
→
04/18 00:46, , 31F
04/18 00:46, 31F
→
04/18 00:46, , 32F
04/18 00:46, 32F
→
04/18 00:47, , 33F
04/18 00:47, 33F
→
04/18 00:47, , 34F
04/18 00:47, 34F
→
04/18 00:47, , 35F
04/18 00:47, 35F
→
04/18 00:48, , 36F
04/18 00:48, 36F
→
04/18 00:48, , 37F
04/18 00:48, 37F
→
04/18 00:48, , 38F
04/18 00:48, 38F
還有 21 則推文
→
04/18 01:10, , 60F
04/18 01:10, 60F
→
04/18 01:11, , 61F
04/18 01:11, 61F
→
04/18 01:11, , 62F
04/18 01:11, 62F
→
04/18 01:11, , 63F
04/18 01:11, 63F
→
04/18 01:11, , 64F
04/18 01:11, 64F
→
04/18 01:12, , 65F
04/18 01:12, 65F
→
04/18 01:13, , 66F
04/18 01:13, 66F
→
04/18 01:13, , 67F
04/18 01:13, 67F
→
04/18 01:15, , 68F
04/18 01:15, 68F
→
04/18 01:16, , 69F
04/18 01:16, 69F
→
04/18 01:16, , 70F
04/18 01:16, 70F
推
04/18 01:18, , 71F
04/18 01:18, 71F
→
04/18 01:19, , 72F
04/18 01:19, 72F
→
04/18 01:20, , 73F
04/18 01:20, 73F
→
04/18 01:20, , 74F
04/18 01:20, 74F
→
04/18 01:21, , 75F
04/18 01:21, 75F
→
04/18 01:21, , 76F
04/18 01:21, 76F
→
04/18 01:21, , 77F
04/18 01:21, 77F
→
04/18 01:22, , 78F
04/18 01:22, 78F
→
04/18 01:23, , 79F
04/18 01:23, 79F
→
04/18 01:24, , 80F
04/18 01:24, 80F
→
04/18 01:24, , 81F
04/18 01:24, 81F
→
04/18 01:25, , 82F
04/18 01:25, 82F
→
04/18 01:26, , 83F
04/18 01:26, 83F
→
04/18 01:27, , 84F
04/18 01:27, 84F
→
04/18 01:27, , 85F
04/18 01:27, 85F
→
04/18 01:28, , 86F
04/18 01:28, 86F
推
04/18 01:29, , 87F
04/18 01:29, 87F
推
04/18 01:34, , 88F
04/18 01:34, 88F
推
04/18 01:37, , 89F
04/18 01:37, 89F
→
04/18 01:37, , 90F
04/18 01:37, 90F
→
04/18 01:38, , 91F
04/18 01:38, 91F
→
04/18 01:39, , 92F
04/18 01:39, 92F
→
04/18 01:41, , 93F
04/18 01:41, 93F
→
04/18 12:40, , 94F
04/18 12:40, 94F
→
04/18 12:41, , 95F
04/18 12:41, 95F
→
04/18 12:42, , 96F
04/18 12:42, 96F
推
04/19 21:56, , 97F
04/19 21:56, 97F
→
04/19 21:57, , 98F
04/19 21:57, 98F
→
04/19 21:58, , 99F
04/19 21:58, 99F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 11 之 15 篇):