Re: [討論] 前人的code 後人翻寫的機率高嗎?
看板Soft_Job作者Argos (Big doge is watching u)時間5年前 (2018/09/25 16:57)推噓16(16推 0噓 13→)留言29則, 19人參與討論串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
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
09/25 17:47, 4F
推
09/25 20:37,
5年前
, 5F
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
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
09/25 22:42, 13F
推
09/25 22:56,
5年前
, 14F
09/25 22:56, 14F
→
09/25 22:59,
5年前
, 15F
09/25 22:59, 15F
推
09/25 23:16,
5年前
, 16F
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
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
09/26 22:20, 27F
→
09/26 22:20,
5年前
, 28F
09/26 22:20, 28F
→
09/26 22:21,
5年前
, 29F
09/26 22:21, 29F
討論串 (同標題文章)