作者:
prag222 (prag)
2021-01-19 21:02:29大家好
小弟上上份工作快離職前
聽到新進的同事說
他都習慣把程式寫成一個一個小的function
後來離職我花了一點時間學習設計模式
和了解SOLID原則
我越覺得這種作法很OK
我大概也知道這應該是重複說高手說過的話
所以後來找到工作
專案自己一個人開發
也沒主管強制要求程式該怎麼寫
變照著 之前同事說的話去開發
讓程式碼 程式碼也是有結構性架構性的
而不是一個function寫幾百行幾千行
mvc Model層也是切得很乾淨
Model層寫的就像api
controller帶參數給MODEL層撈資料出來
不過我最近的公司
完全不是這種做法
雖然是MVC不過還是下SQL查出資料
看到function寫幾百行我看了就昏(業務邏輯)
為了符合公司專案的coding style有點辛苦
基本上我速度也差不多折損一半也有了
不過盡可能把程式碼寫成一個一個小單元應該也沒錯吧
畢竟單元測試
跟我最近看重構的書也是建議這樣
上份工作有改到open source的專案
好像也是這樣
是很難看的懂 但擴充維護修改都很輕鬆
作者:
knives 2021-01-19 21:11:00下sql會很累,你還太菜,快逃吧
程式碼寫成一個一個小單元,應該要增加可讀性才對,怎麼到你手上變成「是很難看懂,但維護輕鬆」?
作者:
iamshiao (CircleHsiao)
2021-01-19 21:45:00誰規定 mvc 不能下 sql?
他的很難看懂 應該是指 程式碼 會跳來跳去吧 有用介面Imp 通常不會放在同一個檔案
作者:
fiiox3 (飆速宅男)
2021-01-19 21:54:00我大概懂你意思...我公司目前就是這樣,看到頭很暈同樣邏輯東西不斷複製貼上
作者:
alihue (wanda wanda)
2021-01-19 21:56:00mvc 還是要下 sql,雖然有些 orm 會額外包一層語法,但是專案一大,還是 sql 比較好維護。
作者:
jj0321 (JJ與你倒數唷)
2021-01-19 21:56:00哈哈 一個.cs檔塞3~4萬行程式碼還是照樣維護呀錢給超多還是吞下去繼續做
作者: a740125 (哈哈) 2021-01-19 22:01:00
騎驢找馬吧,這種環境待太久不太好
這個不叫 coding style 叫做有沒有把程式寫好
作者:
wulouise (在線上!=在電腦前)
2021-01-19 22:13:00原本還想要戰tab跟space,進來竟然...!!
應該是指不是.where .select ,from a in b複雜sql或跨資料庫用套件下也是痛苦啦
那下SQL和MVC或是不是爛code無關啊XD不過進到架構爛的公司除非錢很多否則我也會想離職
舊code能正常運作的就不要碰它,有bug要修再趁機重構有興趣可以參考91的課程,很詳細的說要怎麼做從不可測試的爛code→可測試的爛code→可測試的好code不過個人覺得如果對薪水之類沒幫助就不要亂碰它 XD
作者: mercurycgt68 (發芽的吉它手) 2021-01-19 23:16:00
這種好習慣還難看懂原因只有四種,我都親身碰過:1. 命名差 2. 文件/註解沒寫好 3. 沒有靠IDE幫忙跳轉/peek 4. 對方是智障; 看您的行文風格,應該不是4
如果你只碰orm沒碰過需要sql應該是你摸過的系統都太小
作者:
luke72 (ccc)
2021-01-19 23:47:00所謂的code style就是主管,前輩,掌權者說了算再多的書 大神文章 google設計模式 先問你薪水誰給的差太多怎麼辦?前輩的code你只能跟著阿 不然還能怎麼辦等你抓到機會抓到權力 才能慢慢導到你理想的方式去而且要想想既有的code為什麼長這樣 改成理想的樣子能動嗎很多菜鳥讀了一些文章就以為自己超強 改下去才發現爆光光
作者: Kazimir (Kazimir) 2021-01-19 23:55:00
要是沒看過某種架構或者pattern會覺得比較難看懂我覺得
作者:
luke72 (ccc)
2021-01-19 23:55:00就好像我有一次在牙醫手術台 菜鳥醫師刀開到一半跑去求救
作者:
luke72 (ccc)
2021-01-19 23:56:00"為什麼跟教科書上的圖不一樣" 我:.......
作者:
noahleft (NoahLeft)
2021-01-20 01:20:00就一邊工作一邊註解一邊refactor書上的範例都很理想 實務上不是人人都懂SOLID而且你會說看到頭昏就表示你自己也還沒很熟悉業務邏輯所以就一邊工作一邊註解確保你理解業務邏輯跟假設熟悉以後再根據SOLID補就好(不是推倒重來
作者:
noahleft (NoahLeft)
2021-01-20 01:27:00像前面版友建議的。可以先理解為啥要SOLID而不是書上說這樣比較好
orm跟sql都要學啊 orm有效能瓶頸的我是覺得要先學會看懂爛code 改得動爛code才能體會OOP的美好
作者:
taikobo (勉強になるなぁ...)
2021-01-20 07:42:00coding style 跟 code quality 是二回事...
作者:
testPtt (測試)
2021-01-20 09:27:00沒維護到一堆複製貼上的沒資格抱怨啦
作者:
xo1100 (蝦蒸河粉)
2021-01-20 09:42:00遇過同一個變數用到一千多行還在用的不然就是好幾層ifelse 然後三四個變數在變的
一堆智障senior也都是各種複製貼上 一堆function快百行
好幾層ifelse然後好幾個變數這我也遇過 很想砍掉重練然後變數命名還是看不出含意的
我連if的條件看到一堆括號or或and都受不了寫出這種爛code的人可能還自以為是邏輯大師
作者:
alihue (wanda wanda)
2021-01-20 12:01:00作者: newhandfun (新手方) 2021-01-20 13:29:00
可讀性跟效能有時候也是要做取捨,我覺得可能要搞清楚商業邏輯再看看
作者: wayne5668944 (wayne5668944) 2021-01-20 15:43:00
誰規定一定要用orm? 複雜的東西orm 根本超難處理好嗎...
作者: oachan (阿誠) 2021-01-20 22:43:00
如果還只是一般工程師,那只能從手邊的做起,別人的code 儘量看,自己先維護好自己的程式碼如果為了重構反而拖累開發時程,會被叮到飛起來的,等未來帶團隊或主管在嘗試傳播想法
作者:
uioty (uioty)
2021-01-21 01:26:00我待的第一間公司主管帶得很好,剛進去的那陣子會很仔細的review我的coding style,第二間就真的是能動就好 code有時候看到會覺得公司招人標準到底在哪...
能動就好的 code 肯定一堆啦,我還去過那種為了搶快什麼code smell 都有,標準教科書負面教材案例大全的新創。XD
作者:
luke72 (ccc)
2021-01-21 11:19:00以前修OS時老師是微軟出身,他說windows也是這樣..教科書都太理想僅供參考,winxp一堆沒照課本做的
作者:
wulouise (在線上!=在電腦前)
2021-01-22 21:16:00BUG出來會害人停機的..不管怎樣一定是先補起來啊,是取捨
作者: dogocreat 2021-01-24 00:38:00
有時候太複雜的業務需求orm反而效能不好
作者: superpandal 2021-01-24 13:51:00
所以說為何當一個好公司的元老很重要 一句話說出職場生態