=3=
=3= 某需求其實只要好好寫兩個 query 就能搞定了, 這案例中搞出了: (每一行都是一個(或多個)獨立的 db statement )
- 先把權限對應的人查出來
- 把要模糊搜尋的條件先寫 sql 查出來
- 把這群人用 1 & 2 跟其他條件去查主要資料母表 , 撈出總資料筆數
- 每筆資料各自重查一次子表查出狀態A
- 每筆資料各自重查一次子表查出狀態B
- 每筆資料各自重查一次子表查出狀態C
- 每筆資料各自重查一次子表查出狀態D
- 每筆資料各自重查一次子表查出狀態E
- 最後自己把全部資料按照 page number 跟 page size 再篩選成分頁 (都要這樣做了, 真的還要分頁嗎? 反正資料都撈了.) 而以上這個東西, 其實稍微整理一下, 一個 SQL 寫得完, 用 7個 dao function 組裝, 還繞了一圈把資料讀進程式再優回 sql . 搞得 50 筆資料可以查上接近一分鐘. (改完之後 3s 以內) 有些時候這種 code quality 真的是自己做死, 想說寫好現成的就拿來 call, 不管是懶也好, 沒空也好, 甚至是 code 讀不完也好. 這種習慣長久下去, 就像腐敗的罐頭一樣, 腐爛你的心智, 一個工程師應該要有自我要求啊! 這些人都已經不在團隊裡面了, 但我還是常常在想, 我們到底是為什麼可以訓練出能寫出這樣程式碼的人. 他們不完全真的是不會, 就是思維沒走到適合的那條路上去而已. 我們用什麼樣的環境, 把他們引導到這樣的方向上去的?
Comments
No approved comments yet.