[討論] 主管不認同書本的知識,說我沒學好程設

看板Soft_Job (軟體人)作者 (原來我是憤怒的鄉民)時間10年前 (2016/05/07 20:18), 10年前編輯推噓49(523101)
留言156則, 73人參與, 最新討論串1/14 (看更多)
code review時,主管說暫存變數可省記憶體,不用一直建立變數佔記憶體,我就說"重 構"這本書作 者建議別這樣做,我就拿下面這個"重構"作者的網址 https://sourcemaking.com/refactoring/split-temporary-variable 他就說這個作者有問題,說我跟他寫一樣出去別人 會笑我 接著,我程式有用簡單工廠模式,就像head first design patten的內容一樣建立pizza 店的工廠,他又 說為什麼要建立抽象的pizza店,建立A pizza加盟店,B pizza加盟店,我說每間pizza店 產生pizza囗味,方法不同,他又說建立A pizza店,B pizza店 產生物件浪費記憶體,為何不用switch case判定 是A或B,直接寫各店pizza的作法及口味,產生pizza的作法何必封 裝在A pizza物件,或B物件中,全寫在pizza這個程式中,寫一個類別靜態方法回傳pizza 一樣的,他沒看過design patten,也覺得四人幫在亂寫一通,建立物件是浪費記憶體 https://rongli.gitbooks.io/design-pattern/content/chapter1.html https://dotblogs.com.tw/joysdw12/archive/2013/06/23/design-pattern-simple-fact ory-pattern.aspx 然後談到建立物件,我是用set get的方式設置參數,他就覺得為什麼不用建構子把好幾 個參數丟進去,我一樣拿出 https://sourcemaking.com/refactoring/smells/long-parameter-list http://teddy-chen-tw.blogspot.tw/2014/04/3long-parameter-list-divergent-change .html?m=1 重構的作者是建議參數不用丟太多,建立一個物件, 設定物件的值,把物件丟進建構子,或方法參數中,然後我這樣跟我主管說,他又說我沒 腦袋嗎 沒辦法判定這個作者有問題 參數本來就全丟給建構子,讓建構子去塞,即便 參數很多也沒關係,說我物件導向沒學好 反正一直在對我人身攻擊,即使我提到重構 設計模式,對他來說就是爛書,作者亂寫 請問我該如何是好? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.241.90.24 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1462623535.A.DC8.html ※ 編輯: purin88 (111.241.90.24), 05/07/2016 20:24:21

05/07 20:24, , 1F
換部門?? XD
05/07 20:24, 1F

05/07 20:25, , 2F
注重記憶體有他的寫法 一般DP重點在好懂好改
05/07 20:25, 2F

05/07 20:26, , 3F
四人幫是亂寫一通?? 科科
05/07 20:26, 3F

05/07 20:27, , 4F
又要Code Review又不接受新知識的主管真另人頭疼
05/07 20:27, 4F

05/07 20:28, , 5F
code維護的頻率高嗎?還是寫完之後幾乎不會動?
05/07 20:28, 5F

05/07 20:28, , 6F
有很多程設習慣並不適用於硬體資源受限如embedded
05/07 20:28, 6F

05/07 20:28, , 7F
現在PC都強到不行,為了那一滴滴滴效能犧牲維護性,划不來
05/07 20:28, 7F

05/07 20:29, , 8F
的情況?
05/07 20:29, 8F

05/07 20:30, , 9F
很難說主管是對是錯... 要看立足點 只是如同 mithuang大
05/07 20:30, 9F

05/07 20:30, , 10F
把程式貼出來才知道問題在哪裡
05/07 20:30, 10F

05/07 20:30, , 11F
說的 為了一點效能犧牲維護性...
05/07 20:30, 11F

05/07 20:32, , 12F
要看看你要解決什麼問題才看看要不要用設計模式 過度設計
05/07 20:32, 12F

05/07 20:33, , 13F
這種時候就聽主管的 出事他負責
05/07 20:33, 13F

05/07 20:33, , 14F
好像以前盛行了十數年的Frame Pointer Omission現在也
05/07 20:33, 14F

05/07 20:34, , 15F
造成的成本可能比缺乏設計還要高 看你們要追求的是開發速
05/07 20:34, 15F

05/07 20:34, , 16F
為了方便除錯時做stack trace而預設關閉了.
05/07 20:34, 16F

05/07 20:34, , 17F
度還是效能 才能決定用哪種作法
05/07 20:34, 17F

05/07 20:34, , 18F
自己的作品這樣寫就好了 上班就不要跟主管爭了
05/07 20:34, 18F

05/07 20:35, , 19F
主管也是個不好學的人 設計模式和重構算是基本的東西了
05/07 20:35, 19F

05/07 20:36, , 20F
不過你也不必看了什麼書就覺得那本書的方法好棒棒一定要
05/07 20:36, 20F

05/07 20:37, , 21F
用 學東西是為了面對未來的挑戰而學的 有一天你公司的東
05/07 20:37, 21F

05/07 20:37, , 22F
西需要好的架構 這些設計模式就會派上用場了
05/07 20:37, 22F

05/07 20:38, , 23F
你的主管可能是以前是搞韌體之類的
05/07 20:38, 23F

05/07 20:38, , 24F
你不是在工作嗎?他是你主管 你還想說什
05/07 20:38, 24F

05/07 20:38, , 25F
05/07 20:38, 25F

05/07 20:38, , 26F
作者對你的影響力 沒有主管的萬分之一
05/07 20:38, 26F

05/07 20:40, , 27F
對你而言 主管比賈伯斯比爾蓋茲耶穌上帝天王老子 更
05/07 20:40, 27F

05/07 20:40, , 28F
唉,我就只是難過被人身攻擊
05/07 20:40, 28F

05/07 20:40, , 29F
大 主管怎做就怎做 好壞不重要
05/07 20:40, 29F

05/07 20:41, , 30F
違背他 做爛就算 做好他更氣 表示你比他厲害
05/07 20:41, 30F

05/07 20:42, , 31F
以他說的為主,不然就是分析優劣給他看
05/07 20:42, 31F

05/07 20:43, , 32F
推樓上
05/07 20:43, 32F

05/07 21:01, , 33F
什麼都塞建構 就祈禱這物件不會被當樣板大量衍生
05/07 21:01, 33F

05/07 21:03, , 34F
你要的是這公司的$還是自己的競爭力,2選1
05/07 21:03, 34F

05/07 21:03, , 35F
照他說的寫。比較好的方法本來就萬百種。不是嗎?
05/07 21:03, 35F

05/07 21:03, , 36F
等著見識超肥大檔案載著幾十種規則誕生
05/07 21:03, 36F

05/07 21:04, , 37F
換公司
05/07 21:04, 37F

05/07 21:06, , 38F
換吧 反正台灣寫程式錢都差不多少
05/07 21:06, 38F

05/07 21:10, , 39F
溝通有問題,說服不應該一直丟書丟連結;再者主管堅持
05/07 21:10, 39F
還有 77 則推文
05/08 15:25, , 117F
有技術 處事這種態度 你就慢慢等你的柏樂吧
05/08 15:25, 117F

05/08 16:08, , 118F
噓人身攻擊
05/08 16:08, 118F

05/08 22:13, , 119F
不用辯 實力累積夠了就跳 很多主管都不容別人質疑
05/08 22:13, 119F

05/09 09:00, , 120F
文人相輕而已 這種要說對錯要把全部的情境需求釐清才知道
05/09 09:00, 120F

05/09 09:02, , 121F
拿建構子來說 我自己也是會盡可能讓建構子完成大部分參數
05/09 09:02, 121F

05/09 09:03, , 122F
的帶入 在有多型需求的時候才會用.with或.put給值@@
05/09 09:03, 122F

05/09 09:05, , 123F
你們的溝通有問題 而且看起來你沒有弄很清楚為何書上那樣教
05/09 09:05, 123F

05/09 09:06, , 124F
所以不太有辦法拿出強大說服力 如果都到那個程度主管還是不聽
05/09 09:06, 124F

05/09 09:06, , 125F
那就是他不願意溝通 你們就自求多福吧XDD
05/09 09:06, 125F

05/09 09:20, , 126F
看怎樣用,跟怎樣的組譯器,不覺得你主管說的全然是錯
05/09 09:20, 126F

05/09 10:05, , 127F
主管說的都是對的 Yes Your Highness! 這樣回就對了 幹嘛辯
05/09 10:05, 127F

05/09 11:12, , 128F
主管想法有點舊
05/09 11:12, 128F

05/09 11:26, , 129F
果然是毛語錄一出,紅衛兵們都說好。
05/09 11:26, 129F

05/09 14:24, , 130F
書本裡說的就一定對?書本裡的情境跟你的團隊相同?
05/09 14:24, 130F

05/09 14:26, , 131F
情願相信外國的13道金牌,也不相信在戰場上拼戰的人?
05/09 14:26, 131F

05/09 14:27, , 132F
團隊合作求的是一致性,或許你比其它人強,但不代表別人
05/09 14:27, 132F

05/09 14:28, , 133F
也必需要跟上你的腳步,腳步一致才能一起做事
05/09 14:28, 133F

05/09 14:30, , 134F
再來是接下來怎麼辦,如果你還是想拼技術,那就得離開
05/09 14:30, 134F

05/09 14:32, , 135F
朝向假DevOpt真統包工程師的路,很可能是走孤狼路線
05/09 14:32, 135F

05/09 14:34, , 136F
不然就是要學習如何與團隊相處,特別是怎樣表達想法
05/09 14:34, 136F

05/09 19:00, , 137F
by case啦,記憶體多當然用物件,記憶體不夠只好用傳統
05/09 19:00, 137F

05/09 19:00, , 138F
寫法但難維護
05/09 19:00, 138F

05/09 23:04, , 139F
我覺得我完全可以理解你的心情...
05/09 23:04, 139F

05/10 14:54, , 140F
你老闆怎麼會這麼不求上進...用procedure programming寫
05/10 14:54, 140F

05/10 14:55, , 141F
寫code寫得這麼醜又難擴展跟debug真的有比較好? 這種人感
05/10 14:55, 141F

05/10 14:56, , 142F
覺大概就這樣了...
05/10 14:56, 142F

05/10 14:58, , 143F
他可能沒看過真的寫得很好的程式 只能說原po加油!
05/10 14:58, 143F

05/10 15:27, , 144F
老闆說省記憶體 你就得省記憶體 不然哩
05/10 15:27, 144F

05/10 15:29, , 145F
你應該要找出更能省記憶體的方法阿
05/10 15:29, 145F

05/10 19:01, , 146F
就說不要搞嵌入式了,難學,薪水又低
05/10 19:01, 146F

05/11 15:36, , 147F
語言?是否embedded? embedded有自己特殊的policy
05/11 15:36, 147F

05/11 15:37, , 148F
另外design pattern基本上只會用更多記憶體 很少有反例
05/11 15:37, 148F

05/11 15:37, , 149F
因為他重點在於好修改好擴充 而非好效能跟節省資源
05/11 15:37, 149F

05/11 15:38, , 150F
在resource critical的環境加上錯誤語言下 DP只是找事
05/11 15:38, 150F

05/11 15:38, , 151F
把整個環境攤開看一下比較好討論
05/11 15:38, 151F

05/13 00:21, , 152F
第一個例子不都是區域變數嗎,應該沒省到吧
05/13 00:21, 152F

05/13 00:23, , 153F
用temp有時就真的是temp,或懶得想名稱
05/13 00:23, 153F

05/13 23:20, , 154F
結果寫甚麼code沒說 有些就是resource有限
05/13 23:20, 154F

05/20 22:09, , 155F
不應在職場拋書包 主管不是被你教導的 沒有對錯 只
05/20 22:09, 155F

05/20 22:09, , 156F
有他說了算
05/20 22:09, 156F
文章代碼(AID): #1NBTqlt8 (Soft_Job)
討論串 (同標題文章)
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 1 之 14 篇):
文章代碼(AID): #1NBTqlt8 (Soft_Job)