[請益] 如何讓團隊重視程式品質?

看板Soft_Job作者 (吃不胖真無奈…)時間9年前 (2015/04/19 21:56), 9年前編輯推噓21(21046)
留言67則, 29人參與, 最新討論串1/2 (看更多)
小弟在一個 RD < 10 人的新創部門 過去幾年,資深前輩的程式都是一人寫一人維護 甚至沒有版本控管系統 現在開始要共同開發, 我用了SVN 但是團隊成員對於程式的品質不是很重視 或者是說不認為有什麼問題 我們使用 C++/C#, 卻有諸如以下為一時方便的寫法 # 將4~5百行程式寫在單一函式中 # 將所有模組放在一個檔案中 # 物件不妥善封裝, 上下層關係不明, method 傳入參數用一長串 # 該為 private 的屬性用 public # 不善用C#語言的 keyword 機制處理特有問題 eg. overflow, exception # 不寫測試程式 以上總總讓我看的很痛苦, 難維護修改 交接時總要重構一番, 目前勉強還過得去 但是根本不解決, 這會沒完沒了 目前我嘗試找機會 code review, 讓大家一起討論 偶爾遇到機會寄信分享一下看法, 或是寄網路上的文章 (開發觀念, 或語言特性 etc...) 新創部門,大多團隊成員年資都不到3年(我也是) 我覺得是有機會可以帶入一些改變,讓團隊重視 coding 品質 我不是小主管, 無法用強勢手段、命令語氣 (小主管自己忙得不可開交, 應付老闆、出國, 無閒暇管底下這些事) 我算中間資深 所以剛好可以發表一些意見 我不期望馬上有改變, 可以3~6個月慢慢觀察 寫請教版上前輩是否有類似經驗, 能否提點一下? 感恩 <(_ _)> -- 「 東大受験に一番大切なもの。   それは、勉強が出来ないことを悔しいと思う心だ。   それさえ忘れなければ、東大なんて簡単だ!」 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.147.0.191 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1429451786.A.1C6.html

04/19 22:07, , 1F
老闆說了算,如果老闆不重視這塊…就塊陶
04/19 22:07, 1F

04/19 22:09, , 2F
營利事業單位,有些事還真是想想就好
04/19 22:09, 2F

04/19 22:11, , 3F
要做事要先搞好政治, 首先要有上層支持
04/19 22:11, 3F

04/19 22:12, , 4F
C++的話,你們有用Doxygen嗎?
04/19 22:12, 4F

04/19 22:14, , 5F
這真的不使自己弄就可以,先找小主管討論吧
04/19 22:14, 5F

04/19 22:16, , 6F
如果你不靠政治力量 那麼你需要某種光環...跟魅力有關
04/19 22:16, 6F

04/19 22:17, , 7F
話說回來 如果都三年年資而已還這麼有包袱 奉勸你快逃
04/19 22:17, 7F

04/19 22:17, , 8F
不要讓環境毀了你
04/19 22:17, 8F

04/19 22:18, , 9F
你不是的主管的話就不關你的事。
04/19 22:18, 9F

04/19 22:19, , 10F
如果是新導入不要用svn了,改用git。
04/19 22:19, 10F
謝謝 我會去研究看看

04/19 22:24, , 11F
其實你要求的不只是注重品質,而是程度與眼界的提升,因
04/19 22:24, 11F

04/19 22:25, , 12F
為個人產出其實是面鏡子,要要求並不容易.
04/19 22:25, 12F

04/19 22:46, , 13F
換工作~ 要改變別人很難 改變自己容易多了
04/19 22:46, 13F

04/19 23:08, , 14F
樓上 我不認為注重軟體品質不關自己事 尤其新公司 這種
04/19 23:08, 14F

04/19 23:08, , 15F
態度更重要
04/19 23:08, 15F

04/19 23:08, , 16F
是樓樓樓上才對
04/19 23:08, 16F

04/19 23:24, , 17F
老闆如果不太懂這些,就別期待不會發生...逃比重要吧...
04/19 23:24, 17F

04/19 23:25, , 18F
弄不好,老闆還以為你來亂的!
04/19 23:25, 18F
老闆是真的不懂軟體...

04/19 23:57, , 19F
你沒辦法在放牛班裡要求你周遭的同學能夠像你一樣很
04/19 23:57, 19F

04/19 23:57, , 20F
會念書;不過倒是可以教他們怎麼讓事情變得簡單點
04/19 23:57, 20F

04/19 23:57, , 21F
尤其是那些很麻煩的事
04/19 23:57, 21F

04/20 00:04, , 22F
先問大老闆給不給你權力利益去推動
04/20 00:04, 22F

04/20 00:05, , 23F
不給的話 你做的一切都是一意孤行 破壞團隊罪人
04/20 00:05, 23F

04/20 00:11, , 24F
介意的話就換工作
04/20 00:11, 24F

04/20 00:35, , 25F
最大的問題不在放牛班,而是放牛班的人覺得自己是資優
04/20 00:35, 25F

04/20 00:35, , 26F
04/20 00:35, 26F
我會想想的, 我也有點怕其實我是放牛班的...

04/20 01:06, , 27F
其實要改很困難 而且要主管也支持讓你重構
04/20 01:06, 27F

04/20 01:08, , 28F
沒有測試的重構風險大,而且重構不一定算產出
04/20 01:08, 28F

04/20 01:08, , 29F
最重要的是.. 你以為大家都會重構嗎..
04/20 01:08, 29F

04/20 01:09, , 30F
有的人不管看了幾次自己的程式碼都覺得是完美
04/20 01:09, 30F

04/20 01:10, , 31F
況且如果一段亂糟糟的程式碼 如果別人要 merge,
04/20 01:10, 31F

04/20 01:11, , 32F
主管也覺得沒意見的話.. 那我看你也很難擋了
04/20 01:11, 32F

04/20 07:59, , 33F
400-500行一個功能如果功能上是獨立的話沒有問題.
04/20 07:59, 33F

04/20 08:00, , 34F
以前寫輸出Excel的report時也是一頁一個method處理
04/20 08:00, 34F

04/20 08:01, , 35F
反正C#有region可以把code摺成類似pseudo code的形式..
04/20 08:01, 35F

04/20 08:03, , 36F
另外, 能不用exception處理的例外情況, 不用exception
04/20 08:03, 36F

04/20 08:03, , 37F
在效能上其實是好事...
04/20 08:03, 37F
l大說的, 某位資深同仁也是同樣意見, 用#region包起來就好 如果每個local variable可以保持最小的scope 我也可以接受 但是現況是, 我要看一個 variable 要往上滾 200行才能確認初始化、更動的地方 我覺得這樣很難短時間 看出bug跟程式行為

04/20 10:26, , 38F
改變不了環境 就換環境 這品質太低了
04/20 10:26, 38F

04/20 10:30, , 39F
若能跟小主管要到授權 就是個表現機會 試了就知道
04/20 10:30, 39F

04/20 10:34, , 40F
換了搞不好也是遇到同樣的事XD
04/20 10:34, 40F

04/20 11:21, , 41F
資深人員只會笑你愛用新玩具,跟前面的dk兄一樣不會理你
04/20 11:21, 41F

04/20 11:22, , 42F
要用的話就要準備好完整的資料說服
04/20 11:22, 42F

04/20 13:08, , 43F
代表其他人的水準太低 建議塊陶
04/20 13:08, 43F

04/20 13:10, , 44F
一個人想改變環境,很難
04/20 13:10, 44F

04/20 14:40, , 45F
一個函式寫個百來行真的很該死嗎?protocol或stack裡面滿常
04/20 14:40, 45F

04/20 14:41, , 46F
看到三四百行的大函式
04/20 14:41, 46F

04/20 15:20, , 47F
老實說原po說的那幾樣的理由 無法說服我進行重構
04/20 15:20, 47F

04/20 15:31, , 48F
就加油 試試看 我覺得你的方法可以 真的推不動再逃吧
04/20 15:31, 48F
謝謝這位大大 整篇就你比較鼓勵我 XD

04/20 15:33, , 49F
坦白說我曾經直接對一個白目改寫我程式碼的罵髒話
04/20 15:33, 49F

04/20 15:33, , 50F
因為客戶直接罵我.要改你就別動到別人東西
04/20 15:33, 50F

04/20 15:34, , 51F
不然萬一人家的東西是核心,你再多的優點與理由都得走路
04/20 15:34, 51F

04/20 15:47, , 52F
我不否定同事的好學,但是功能掛了算我頭上,OK?
04/20 15:47, 52F

04/20 15:47, , 53F
因此你要確定同事有那種雅量幫你扛不預期的出包
04/20 15:47, 53F
是, 我了解, 其他同事有他們自己的 domain knowledge 如果要改我會跟他們討論, 如果交接 我會確認行為一致、效能無明顯降低

04/20 17:07, , 54F
真肉大能分享一下什麼理由才能說服你重構嗎
04/20 17:07, 54F

04/20 20:48, , 55F
能察覺到這種事 代表你大概有一定的水準 但環境大部
04/20 20:48, 55F

04/20 20:49, , 56F
的人都沒感覺 就代表環境不適合你 該離開了
04/20 20:49, 56F
雖然"塊陶阿"意見佔多數 但是同事身上有許多domain knowledge 能學, 目前這份工作也不操 我會嘗試一段時間 真的看不到改變 再說吧 感謝各位的意見, 還有大大寄信給我 就甘心 ※ 編輯: poloball (27.147.0.191), 04/20/2015 21:13:44

04/20 23:05, , 57F
說真的,如果不是很底層的東西,還是不要騙自己留下吧。
04/20 23:05, 57F

04/20 23:05, , 58F
世界這麼大非得要學這些人身上的?
04/20 23:05, 58F

04/20 23:44, , 59F
我覺得最前面提到的那幾種還好欸 是我爛code看太多了嗎XD
04/20 23:44, 59F

04/20 23:47, , 60F
如果你想朝團隊開發的方向走,在這種環境會讓你
04/20 23:47, 60F

04/20 23:48, , 61F
很吃虧,而且選個自己喜歡的工作環境不是天經地義嗎
04/20 23:48, 61F

04/20 23:48, , 62F
就看你覺得哪一項東西最重要了
04/20 23:48, 62F

04/20 23:50, , 63F
我碰過最恐怖的是一個超大singleton manager
04/20 23:50, 63F

04/20 23:50, , 64F
不管要什麼資源通通從那邊拿 最後效能超差又拔不掉…
04/20 23:50, 64F

04/24 10:08, , 65F
主管很重要 真想推這個請努力去說服主管 我的情況跟你差不
04/24 10:08, 65F

04/24 10:13, , 66F
多 但主管全力支持 所以不管那些老屁股怎麼樣 該推的東西
04/24 10:13, 66F

04/24 10:13, , 67F
還是硬推起來了
04/24 10:13, 67F
文章代碼(AID): #1LCxGA76 (Soft_Job)
文章代碼(AID): #1LCxGA76 (Soft_Job)