Soft_Job 板


LINE

※ [本文轉錄自 Programming 看板 #1TA0j_Vb ] 作者: howardgj94 (飄飄渺渺所為誰) 看板: Programming 標題: [閒聊] CURD開發時間推估 時間: Fri Jul 12 12:24:29 2019 大家好, 本人算算,畢業後踏入職場也邁入第二年了, 回想大學專題做影音系統,負責後台資料處理(HADOOP)的部份, 研究所做資料科學的研究, 進入職場後,從資料科學轉做系統開發。 因為在財團法人,只要系統出的來,對於開發環境有很大的自由度, 所以每次開發時,都會想辦法去接觸新的框架跟軟工架構。 (財團法人的缺點,只要看成果,但希望在當兵這三年,可以把這缺點化成優勢, 於是在這一年多來,只要接臅新的案子,就想多學一點不同架構) 這一年來,陸續碰過原生的php開發、cordova、 學寫phpunit測試、laravel MVC架構、 vue與laravel的集成架構、java spring MVC架構、junit測試、 react + redux + react-route前端架構等。 因為研究所boss是軟工專常的關係,我踏入職場後,對軟體架構的要求比較高, 例如開發時盡量遵守TDD開發原則、repository模式將資料庫邏輯分開、資料庫使用 orm 或 entity framework,而不直接操作sql語句、又或者是前端使用redux模式 將action 跟 view盡量抽離等。 老實說,這些東西以我目前看到,至少在唉唉唉裡面,是不太重視這些東西的。 最近在開發新的案子,資料庫架構設計完,開始投入app撰寫。寫了一陣子,被一個 同事說,「覺得你開發速度太慢了,這東西我xx(時間)就開發完了,不須要這麼久。 於是我根據git記錄開始追溯我的開發時間, 發現以普通不太過複雜的資料庫crud撰寫來看, 從unit test撰寫、repository設計、mvc test撰寫,controller設計、 到前端畫面設計、串連api,debug,這整個動作做完 平均大概要花費一到兩個工作天。 以成效來看,似乎真的不是很有效率。 當然這次使用redux react跟java spring都算新東西,要算學習成本進去, 但以我git紀錄來看,一個crud前後台完成,大約就是一到兩個工作天。 好奇大家在開發crud時,大概會花多久時間呢? 現在有自動生成crud的工具,但似乎彈性不夠大,也不夠好用,所以我沒接觸。 如果能把crud時間縮短,整個開發時程可以縮很多。 另外,tdd drive的開發模式,在目前台灣軟體業界流行嗎,財團法人有點太學校了,感 覺接觸的不一定是業界目前的流行。如果可以的話,未來希望自己還能碰一些CI/CD的工 具。 另外題外話,tdd drive的好處是,你必須在寫程式前就先把架構想好,而且為了做到 unit test,程式必須解耦合,也就是說,如果測試寫的好,基本上設計出來的程式會非 常的符合SOLID原則,當然這是最理想的狀況。 剛開始摸redux時,並沒有想到給前台也寫測試,當時看到redux官方給的todo範例時就非 常不解,為什麼要把畫面分成component跟container。後來開始思考如何寫測試時才發現 ,分開畫面跟動作的原因,是為了能夠撰寫unit test,另外這樣寫才能讓前端的action 跟view能夠真正的分離。 不過目前我的前端是還沒有撰寫test,前端對我來說,光要把畫面調好、設計畫面就花 太多功了,現在如果還要加上test的話,估計crud就要花兩個工作天或以上了. --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.92.18.246 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Programming/M.1562905471.A.7E5.html



※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: howardgj94 (140.92.18.246 臺灣), 07/12/2019 12:31:27
1F:→ max241: 他快只考慮MVP吧 要寫測試就是會拉長開發時間 07/12 12:43
2F:→ max241: 有測試 長時間下來是好的 但如果專案很快就結束就...呵呵 07/12 12:46
3F:→ max241: 看性質考慮要寫成可不可測,好不好維護等 但感覺你是一條龍 07/12 12:49
4F:→ howardgj94: 我的案子都是個人或雙人案子,我的確以前堅持用tdd模 07/12 13:13
5F:→ howardgj94: 式一條龍,最近工具會多了才開始思考時間成本的問題 07/12 13:13
6F:推 abccbaandy: 外面87%都是功能能動就好,test都沒寫了還TDD XDD 07/12 13:17
7F:推 expup: 現實是你要這樣幹就去外商搞大部份多的是隨便弄求過就好 07/12 13:53
8F:推 aa155495: 看是長期產品,還是 poc 而已? 07/12 14:21
9F:→ aa155495: 概念驗證的案子,用做長期產品的思維太浪費時間 07/12 14:22
10F:→ allenxxx: 外面程式還沒寫到一半,需求就不知調過幾次了,TDD是啥? 07/12 14:22
11F:推 neo5277: III不同部門差很多的樣子 07/12 15:59
12F:推 b81314: 接案建議不要用TDD模式去開發 根本不可能如你所意.. 07/12 17:04
13F:推 doranako: 如果主管不懂tdd 就會覺得你做事慢,然後就黑掉 07/12 17:39
14F:→ Nonegrame: 肯花時間寫測試就要痛哭流涕了 07/12 18:22
15F:推 sharku: 堅持下去 你是對的 07/12 18:31
16F:→ alog: 先學會分辨你的同事雷不雷,不然意見也是聽一半就好 他所謂 07/12 18:51
17F:→ alog: 的快,要是留下一堆技術債你只是不知道 07/12 18:51
18F:→ howardgj94: 同事要說的話,從大學開始開發系統,到現在有五年多的 07/12 20:06
19F:→ howardgj94: 開發經驗,研究所幫老師寫公司系統.我自己評價,他可 07/12 20:06
20F:→ howardgj94: 以以很短的時間完成任務,品質也還ok,風格有自己一套 07/12 20:06
21F:→ howardgj94: ,但不著重軟工架構 07/12 20:06
22F:→ howardgj94: 大概就mvp寫很好的人吧,畢竟他們boss跟在唉唉唉開發 07/12 20:08
23F:→ howardgj94: 的系統都算概念系統,無法判斷真實上線的維護問題 07/12 20:08
24F:推 lukatw: 時程及專案週期和專案性質都是重要考量因素,如果接案性質 07/12 22:20
25F:→ lukatw: 的,通常專案週期比較短,而需求變動速度可能也很快,連測 07/12 22:20
26F:→ lukatw: 試都不寫了別說TDD。後來有長期專案,但專案初期在時程壓 07/12 22:20
27F:→ lukatw: 力下完成MVP,測試碼就變成後補,有些地方寫的很臭XD,目 07/12 22:20
28F:→ lukatw: 前專案算比較穩定,所以開始補上測試+重構程式 07/12 22:20
29F:→ landlord: 以一個過來人的經驗跟你分享:讓自己作到TDD開發 07/13 00:42
30F:→ landlord: 比他們不寫測試還快,他們就會閉嘴了。 07/13 00:42
31F:→ landlord: 老闆向來不在乎大家是不是TDD,只要你能又快、又好 07/13 00:43
32F:→ landlord: 分享我最近在客戶那邊的戰果:http://bit.ly/2YOxPY0 07/13 00:45
33F:→ landlord: 3人的mob-programming, TDD, 三地開發, agile/scrum 07/13 00:45
34F:→ landlord: 三天進度over deliver一個sprint的進度 07/13 00:46
35F:→ landlord: 老闆跟PO顯得非常滿意,更別說我們順手把舊的架構整理好 07/13 00:46
36F:推 abccbaandy: 樓上大概沒待過那種,需求早上講完下午就變了一套,然 07/13 01:57
37F:→ abccbaandy: 後隔天問你寫得如何的公司... 07/13 01:57
38F:→ landlord: 那就讓你自己擁有選擇公司的能力,這是最直接的解決方式 07/13 02:10
39F:→ landlord: 不過誰都會碰到時程問題,就看你怎麼解決時程的問題 07/13 02:11
40F:推 abccbaandy: 果然還是逃嗎XD 我只能說台灣有很大一部分公司都推不 07/13 02:17
41F:→ abccbaandy: 了你說的東西,就算叫TDD之父來也一樣,這就是現實 07/13 02:18
42F:→ landlord: 逃?我只是覺得待在一個環境裡面自怨自艾,很浪費人生 07/13 02:19
43F:→ landlord: 可能台灣其他部份的公司都願意找我去幫忙吧 :P 07/13 02:20
44F:→ landlord: 我倒是覺得先不要管推不推,先看自己做不做得到比較實際 07/13 02:20
45F:推 abccbaandy: 也是啦,自己先學會,等哪天有機會就能派上用場了 07/13 02:25
46F:→ landlord: 總會有需要你能力的地方,所以不要原地踏步被糟蹋了 07/13 02:27
47F:推 abccbaandy: 倒是好奇台灣哪些公司真的有導這些東西的阿? 07/13 02:28
48F:→ abccbaandy: 每次面試都講得很完整,進去各種台式敏捷+ 0 test 07/13 02:29
49F:→ landlord: 在台灣的外商算嗎?XD 不過我都不推薦大家「導」TDD 07/13 02:29
50F:→ landlord: 其實老闆真的不在乎你怎麼寫,他們只要結果又快又好 07/13 02:31
51F:→ landlord: 但如果你們作到又快又好,而需要他們一些support, 他們 07/13 02:31
52F:→ landlord: 會很樂意提供你協助的,只要你能作到他們要的 07/13 02:31
53F:→ landlord: 現在的鈦坦、Line裡面的工法素質都很不錯 07/13 02:32
54F:→ landlord: QA/QE/SDET 比較完整的,就趨勢跟 KKBOX 07/13 02:33
55F:→ landlord: 我之前在yahoo的幾個團隊也做得挺扎實的 07/13 02:33
56F:→ landlord: 如果我有能力,老闆願意相信我,他們沒有測試其實挺好的 07/13 02:34
57F:→ landlord: 這不就是貢獻自我價值的舞台嗎? 07/13 02:34
58F:推 alog: 導 test 看老闆/技術主管本身有沒有被雷包痛到過,痛過幾次 07/13 02:39
59F:→ alog: 然後又是執行重要專案/長期維護產品就會導入了 07/13 02:39
60F:→ alog: 我長期維護EC平台,第一年後端不是我寫,同事雖然資深但就是 07/13 02:40
61F:→ alog: 不肯導入任一 test 去驗證他的程式沒問題 07/13 02:40
62F:→ alog: 結果花了一年的時間在那裡修各種問題修到差點還要賠錢 07/13 02:41
63F:推 abccbaandy: 看起來不是大公司就是外商呢... 07/13 02:41
64F:→ alog: 次年我接手專案的後端去寫了v2 因為該語言/框架其實我不熟 07/13 02:42
65F:→ alog: 但是開發經驗有 而且該框架的測試環境算很成熟 07/13 02:42
66F:→ alog: 我花了大概半年多的時間整個把全部的功能重寫 07/13 02:43
67F:→ alog: 客戶也願意付錢等 因為他們被雷到怕了 07/13 02:43
68F:→ alog: 現在每次加工能或是做前端什麼的 完全不用擔心會炸掉還是出 07/13 02:44
69F:→ alog: 現例外狀況的問題 07/13 02:44
70F:→ alog: 甚至連其他第三方系統沒事偷改規格或調整都可以測的到 07/13 02:45
71F:→ alog: 那種過程就是真的只有一個字能形容 就是他媽的很爽 不用沒 07/13 02:46
72F:→ alog: 把握說程式部署到好幾台主機後可能有問題之類的 07/13 02:46
73F:→ alog: 像我自己會在前端的程式利用GA用事件跟傳送例外錯誤訊息,然 07/13 02:47
74F:→ alog: 後用自訂報表去彙整這些資料 07/13 02:47
75F:推 abccbaandy: 同感,這種真的是被炸過才會重視,甚至還會幫你排時間 07/13 02:48
76F:→ alog: 當你一個重大新介面的改版上線後,一整個禮拜都沒有錯誤時 07/13 02:48
77F:→ alog: 那種感覺真的很好 07/13 02:48
78F:→ abccbaandy: "開發"這塊XD 07/13 02:48
79F:→ alog: 為什麼 因為我那個平台一天的營業額很高 你炸掉還是什麼就是 07/13 02:49
80F:→ alog: 影響到人家的公司 07/13 02:49
81F:→ alog: 我一個朋友也是做EC的 不過他也是有做營運 07/13 02:49
82F:→ alog: 某一天動了資料庫 結果不慎搞毀資料 花了不少時間救回 雖然 07/13 02:50
83F:→ alog: 說只掛了一點時間 但噴了十幾萬去賠客戶 07/13 02:50
84F:→ alog: 我只能說 真的有些東西值得細心去處理 但前提是 你待地方知 07/13 02:51
85F:→ alog: 道那個價值 07/13 02:51
86F:→ alog: 是說 其實寫測試也不會太慢 只是一開始會卡比較久這麼設計 07/13 02:54
87F:→ alog: 做久了其實很多東西也是差不多那樣 07/13 02:54
88F:→ alog: 因為你不寫 你手動反覆調適也累 我覺得要多利用工具做自動 07/13 02:55
89F:→ alog: 化來省時間 07/13 02:55
90F:噓 cactus1021: 錯字好多 07/13 21:10
91F:推 ek0519: 可以玩玩 laravel nova 07/15 18:47
92F:推 Csongs: 單表crud 一小時吧 07/19 08:46
93F:→ Csongs: 重點是背後邏輯要清楚 07/19 08:46
94F:→ Csongs: 一小時包含測試code 07/19 08:47







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP