Re: [討論] 前人的code 後人翻寫的機率高嗎?

看板Soft_Job作者 (Big doge is watching u)時間5年前 (2018/09/25 16:57), 5年前編輯推噓16(16013)
留言29則, 19人參與, 5年前最新討論串5/8 (看更多)
※ 引述《banqhsia (BEN)》之銘言: : 很多前輩們會建議,要重構前先寫測試 : 但是 : 一個萬能類別/萬能方法/高耦合,要寫單元測試,發現整個系統都要寫 : 有些 hard code 的 class 還不見得可以 mock : 「人」的問題 : 無解。 BEN兄講得很好 我看到底下有人提出一個很好的問題 重構、SOLID、設計模式、review、unit test 這些東西做起來既麻煩又沒有比較省時 為什麼要做? 沒有錯 敏捷開發的關鍵是敏捷而不是 更嚴格來講 敏捷開發所謂的 跟一般認知所謂的開發時程的 是完全不一樣的東西 很多人會把他們混為一談 包括一堆只會學著念buzzword的老闆或PM 開發很靈活 不代表開發會很快 開發很快是指給你個功能你三天就做出來 但就是做出來 什麼東西通通都寫死 不用架構東西通通一個class搞定 一個method上千行 裡面if else巢狀大概超過5層 如果使用敏捷開發 有完整unit test、有review、有注重SOLID有用到設計模式 雖然要花兩週 但在日後有新需求要改這個部份時 可能只要花一小時 然後花三天的那個要改一個月 這還沒談到bug的多寡 後者出bug的機會肯定是遠少於前者 就算出了bug 解bug的難度與所花的時間也遠少於前者 大概就是這種感覺 這也是為什麼一堆人不願意用心寫程式 1. 你怎麼知道未來這模組會不會有新需求? 如果沒有新需求,那我幹麻花兩周在那邊東搞西搞? 為了未來那不存在的新需求預作準備? 2. 隔壁小明每個需求來 三天就幹完 我還在這邊慢慢摸? 老闆臉色越來越難看 終於有一天把我叫進去老闆辦公室 人家小明三天就完成你為何都要一週以上? 能力不足嗎? 再這麼慢就給我滾吧 3. 隨便寫寫也是領這點錢 認真寫也是領這點錢 何必? 4. 出bug?在我工作時碰到算我倒楣啦~ 反正我一兩年就換間公司 台灣滿地職缺老闆就沒差跪著求我去上班 我們工程師根本不缺工作 那我敢麻做什麼鬼測試?浪費時間 基本上好好寫程式的誘因太少 大多數的人就不會願意寫好程式 因為寫好程式是很花精神花時間花腦力的 是很累人的! 所以這種東西一定要上行下效 上面的人要用力去盯下面好好做好 並且給予合理的時程與支源(比以前加兩倍以上時間、讓資深花時間帶資淺作pair programming) 但如果上面不重視 那你玩clean code、勉捷開發只是找自己麻煩而已 因為企業環境就是逼迫你跳進焦油坑內打滾 你只能趁著還沒完全被淹沒時趕快再跳到另一個焦油坑 然後又開始在裡頭掙扎、沉沒 時光流轉、周而復始 台灣的資訊產業也就漸漸變成了資訊慘業 XDDD 所以 在台灣如果上面管理層沒有這些概念 不曉得什麼叫好好寫程式 也沒有作過專業的評估 但你又看了幾本書 甚至已經到過了所謂的應許之地 念茲在茲都是美好的程式碼 那你只能做幾件事 1. 轉行上層很重視這個的公司 (有辦法的話 最推薦 XD) 2. 在公司內推行 (很累很拼還要會講話更要會做人尤其不能得罪那些食古不化的老屁股) 3. 自己寫code時偶爾顧到,時間緊了就算了,當作功德 (大部份人會選這個,比較不累,但又可以在不影響原本工作的情況下練習) 或是你也可以回去寫垃圾code 要知道努力不一定會成功 但不努力肯定會比較輕鬆 就看你想走哪一條路了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.131.160 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1537865878.A.AEF.html

09/25 17:08, 5年前 , 1F
簡單來說就是未來的坑可能是別人去扛XDDD
09/25 17:08, 1F
※ 編輯: Argos (220.130.131.160), 09/25/2018 17:20:30

09/25 17:33, 5年前 , 2F
推 我朋友就在解坑中
09/25 17:33, 2F

09/25 17:47, 5年前 , 3F
第三點真的是關鍵…把自己搞到累死得罪主管同事,錢
09/25 17:47, 3F

09/25 17:47, 5年前 , 4F
也不會比較多qq
09/25 17:47, 4F

09/25 20:37, 5年前 , 5F
中肯...很多不懂的PM/老闆評價RD就只會看做的快慢(嘆
09/25 20:37, 5F

09/25 20:44, 5年前 , 6F
09/25 20:44, 6F

09/25 21:43, 5年前 , 7F
我遇到的是被同事罵:這只有你會懂,沒人懂。所以還是別用設
09/25 21:43, 7F

09/25 21:43, 5年前 , 8F
計模式
09/25 21:43, 8F

09/25 21:44, 5年前 , 9F
事實上我還是用了一堆設計模式,然後離職丟給他接
09/25 21:44, 9F

09/25 21:46, 5年前 , 10F
看了這串真心覺得我們公司根本佛心 code很有系統
09/25 21:46, 10F

09/25 22:33, 5年前 , 11F
不用心是假議題 沒能力才是真的
09/25 22:33, 11F
不用心當然就沒能力囉 但我認為只要夠認真 人人都能被訓練成能夠寫出一手好code的 或許沒辦法成為頂尖工程師 畢竟要當top還是少數 但成為一個專業人士一定沒問題

09/25 22:42, 5年前 , 12F
這篇正解,太多人誤會敏捷開發就是用很快的速度丟出產品
09/25 22:42, 12F

09/25 22:42, 5年前 , 13F
原本要 3 天的東西,不會因為用了敏捷開發就變成 1 天
09/25 22:42, 13F

09/25 22:56, 5年前 , 14F
老闆不看code 然後寫3天寫很快的被指派&完成新任務
09/25 22:56, 14F

09/25 22:59, 5年前 , 15F
接手的人兩個月整理完程式.繼續接"維護"接bug接電話
09/25 22:59, 15F

09/25 23:16, 5年前 , 16F
推clamerni大。沒才條還嫌工具壞 (台)
09/25 23:16, 16F

09/26 00:03, 5年前 , 17F
某方面來說還滿中肯的
09/26 00:03, 17F

09/26 00:39, 5年前 , 18F
敏捷開發是前人種樹 後人乘涼
09/26 00:39, 18F

09/26 00:40, 5年前 , 19F
爽也是爽到後面進來的人
09/26 00:40, 19F
後人也有可能是你自己 不是嗎? 如果公司老闆能看到前人種樹其中的價值那更好 台灣的軟體產業也會因此更進步 當然這只是希望啦 ※ 編輯: Argos (118.169.12.75), 09/26/2018 01:25:41

09/26 03:52, 5年前 , 20F
還是要看案件類型 如果是要持續使用改善的當然就要長遠
09/26 03:52, 20F

09/26 03:52, 5年前 , 21F
規劃
09/26 03:52, 21F

09/26 04:10, 5年前 , 22F
台灣一堆專案公司哪管那麼多就是要快 能跑就行
09/26 04:10, 22F

09/26 04:10, 5年前 , 23F
做產品的公司 也滿多是這樣子 先求有再求好 xd
09/26 04:10, 23F

09/26 07:26, 5年前 , 24F
精闢!!!
09/26 07:26, 24F

09/26 09:18, 5年前 , 25F
先求有之後就會變成程式能用就不要亂改
09/26 09:18, 25F

09/26 10:46, 5年前 , 26F
每次都在補前人的屎坑 想翻新真的要很大的努力
09/26 10:46, 26F

09/26 22:20, 5年前 , 27F
事實上自從我自己寫APP, 很多clean code的習慣都是一邊
09/26 22:20, 27F

09/26 22:20, 5年前 , 28F
寫一邊養成的 原因只有一個:維護容易
09/26 22:20, 28F

09/26 22:21, 5年前 , 29F
尤其是OO類型的語言 不用物件的概念去寫很怪
09/26 22:21, 29F
文章代碼(AID): #1RgVYMhl (Soft_Job)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 5 之 8 篇):
文章代碼(AID): #1RgVYMhl (Soft_Job)