推 FF16: 第五點呢? 07/11 16:17
推 senjor: 他沒說有第五點吧 XD 07/11 16:25
中間漏掉了已補上XD
→ Rodrigo: 第一點跟科系沒啥關係~純粹是這個人做事就是沒效率 07/11 16:31
就以寫code來說
真的只有本科系的人問過我這個相似函數要作共用函數的建議
非本科系畢業的人,遇到類似問題則是會copy這個function再微調出一個function3...
推 yamakazi: 等一下非本科菜鳥會上來噓你哦 07/11 16:32
個人職場所見也要噓嗎= ="
→ Rodrigo: 他喜歡多製造幾個一樣的輪子罷了 07/11 16:32
→ Rodrigo: 這種沒意義的徒勞~是任何領域都可能發生的 07/11 16:34
推 ripple0129: DRY是人的問題跟科系無關啊,資深了還不懂DRY原則就人 07/11 16:46
→ ripple0129: 的問題 07/11 16:46
→ Rodrigo: 我也覺得是人的問題~那種寫法送去資策會~一樣要被罵的 07/11 16:48
→ y3k: 我覺得第一個就笨或沒經驗而已... 07/11 17:23
第一點的是非本科系~然後在這間公司已經維護8年ERP的程式開發人員
他本身非本科出身~然後在資策會上過程式設計
我是沒去資策會進修過啦~不過我會有這樣感覺是因為交接的時候
明明我看程式架構~當開發的公司是有作共用模組、函數的
其中包含了大多數他所作的東西
結果他的答案是他看不懂別人在寫啥~所以決定自己重寫
某日討論之下才發現原來他不懂這些東西(也有可能是程式開發人員一直只有他一人)
我不排斥重寫,但是作了一段時間之後,難道不覺得這樣一直複製貼上怪怪的嗎...
導致8年下來整個ERP裡面重複著非常多重複的東西
我所講的function是算簡單的一類,有些function可是又臭又長
2000行code裡面有1/3以上是重複或是可以簡化的
還外加註解裡面還擺入了一堆個人抱怨= ="
→ MOONY135: 共用函數裡面還是要新增if去維護 不過清爽點就是了 07/11 17:24
→ y3k: 不相信本科系的不會這樣做 單純就沒去思考怎麼整合 class之類 07/11 17:25
→ y3k: 還好說 這只是function耶XD? 07/11 17:26
→ MOONY135: 其實也只是閱讀起來很阿雜吧 07/11 17:31
→ MOONY135: public string function(int type, string input) 07/11 17:32
→ MOONY135: 請小力鞭我 07/11 17:33
推 GameGyu: 我真的遇過本科系的會這樣做,反而是我(非本科系)建議去 07/11 17:50
→ GameGyu: 思考怎麼整合 07/11 17:51
推 abccbaandy: 其實外包出身的很常這樣幹...畢竟複製貼上最快 07/11 17:56
如果是趕案子複製貼上我覺得應應急可以
但這樣的東西越長越大就...
推 oneheat: 這種問題直接貼薪資單好嗎? 07/11 18:15
→ windlll: 哥寫code是耐的住寂寞,不是因為興趣 07/11 18:17
推 oneheat: 這種問題就跟智商完全強相關,哪來那麼多心得...聰明的就 07/11 18:21
→ oneheat: 是做什麼都強 end 07/11 18:21
可能我智商不好XDD
→ MOONY135: 我覺得耐得住無聊也是重點 07/11 18:47
推 naoomi: 複製貼上是製造工作機會的好方法阿,不然老闆以為你沒事 07/11 18:58
→ naoomi: 做>.^ 07/11 18:58
→ fatb: 覺得第1個沒這麼嚴重 我們這邊的高工都愛這樣做 人家也是百W 07/11 18:58
推 RINPE: 弱弱的請教一下 1是指沒必要分成兩個嗎 我一直在找兩個哪 07/11 19:04
→ RINPE: 裡不同 07/11 19:04
推 ripple0129: 就譬如2018-01-01跟2018/01/01的差別拆兩個 07/11 19:08
是的~狀況類似這樣
正常應該是在最後組字串的時候分家即可,不需要整個function都複製一份吧= ="
推 sdbb: 論工作環境:可以在家只穿內褲coding,這樣算不好嗎? 07/11 19:15
→ sdbb: 這種天氣,很多工作是不能吹冷氣的,coding已經很棒了 07/11 19:16
→ MOONY135: 我都找上班可以聽音樂的工作 不能聽是不行的 07/11 19:20
推 haha02: 我就看過純血本科系改code都複製一份出到自己的package下 07/11 19:23
→ haha02: 面再改 跟科系無關 07/11 19:23
這感覺也是另外一種活在自己世界的人類...
→ pttworld: 拒絕存取大大最近在睡嗎 07/11 19:29
推 Sex5F: 要看案子的獲利,獲利太低重複使用性太低 07/11 19:34
→ Sex5F: 還有客戶的需求是經過多久才擴充 07/11 19:35
→ Sex5F: 經過10多年的code古人有云: 07/11 19:35
推 Sex5F: 不要隨便改別人的code,自己拉出一個pateren出來做 07/11 19:37
→ Sex5F: 這樣compiler flag debug也方便 07/11 19:38
推 Sex5F: 另外除非是第一手開發,否則真的別去動架構 07/11 19:39
→ Sex5F: 既然是屎就讓屎繼續疊上去吧 07/11 19:40
→ Sex5F: 除非案子真的主管願意無限給你時間 07/11 19:40
→ Sex5F: 只求完美 07/11 19:40
→ Sex5F: 否則幹到每天早上5下班9點打卡 07/11 19:41
→ Sex5F: 人家只會抱怨你做事沒效率 07/11 19:42
→ Sex5F: 為何我這樣說? 07/11 19:42
→ Sex5F: 你看到年薪200-500的註記 07/11 19:42
→ Sex5F: 他們就是改到能動就好,誰管你流程和程式架構 07/11 19:43
→ Sex5F: 反正屎以後的人會擦 07/11 19:44
我這個是上市櫃公司的客製ERP系統,該資訊人員在公司任職8年
然後系統要作改版的時候發現很多驚喜XD
→ MOONY135: 這跟炸彈一樣XDDD 07/11 19:45
推 stfang925: 人家有300萬領 才不屑管誰撿到炸彈咧 07/11 20:07
推 asleisureto: 我都會注意重複部分太多要抽出來+架構維護性,可是 07/11 20:09
→ asleisureto: 我年薪還是沒破百萬 07/11 20:09
我也沒有QQ
推 happinessi: 禿頭肥宅的形狀...幫QQ 07/11 20:19
何必講出來~
推 vi000246: 我會把屎包在盒子裡 眼不見為淨 07/11 20:25
→ vi000246: 至於把屎沖掉這工作 就交給把盒子弄爆炸的人 07/11 20:26
我擦屁股我驕傲XD
推 oaboy: 除非有寫test case/unit test~不然第一的情況其實才是保險 07/11 21:57
原生架構是有這樣東西的...
後來也不知道為啥整個系統的code走向變這樣
噓 musie: duplicate is much cheap than wrong abstraction 07/11 22:00
推 musie: sandi metz這篇這麼有名 這怎不看reddit 和 hacknews的討論 07/11 22:06
→ musie: 你這樣說別人 我都搞不懂是誰有問題了 07/11 22:09
抱歉可能我才疏學淺
推 pig0038: 單純錢太少找個理由跑而已,你想太多 07/11 22:20
→ a9564208: 不是先求能動再求效率嗎(還是我搞錯了? 07/11 22:28
東西趕的時候我同意先求能動再求效率
但有空應該要回頭去優化吧?
況且如果前面搞好,後面遇到要放入相同東西的時候也不至於這樣~
→ cha122977: 因為可以能動又有效率 這兩者不是互斥的 07/11 22:52
推 senjor: 其實我最怕的其中一種人就是拿一堆教條式的理想開發規範在 07/11 22:53
→ senjor: 要求...雖然說可能真的強者可以同時顧到每個層面,但常常 07/11 22:54
→ senjor: 在開發的時候總是有取捨的... 07/11 22:54
公司內部的客製ERP,使用對象是公司內部人員
然後由1~2人負責維護這個系統
我加入的幾年是沒發現有什麼需要取捨,可能是我很菜吧
推 Argos: 爭論是不是需要做好架構根本完全沒有必要 07/11 23:34
→ Argos: 屎坑就是要處理 不處理就是有違你的職業道德 07/11 23:34
→ Argos: 職業道德跟賺錢當然是兩碼子事 你只為了賺錢可以不要來寫程 07/11 23:35
→ Argos: 式 世界上有更多比寫程式更好賺的領域 看看某人300萬 07/11 23:35
職不職業道德是比較高層次
我則是認為不好好維護自己平常寫的code
以後無論是自己或是別人,維護成本會更高~然後不斷持續惡化下去
推 steve1012: 這duplicate 太蠢了 那句話不適用 07/11 23:42
推 SppSpp: 管甚麼科系...碰到問題會想要去解決就好。只是非本科碰到 07/11 23:42
→ SppSpp: 問題逃避或丟給同事的機率比較高 07/11 23:43
→ SppSpp: 曾經有個非本科同事,常常侃侃而談。碰到一些route或ssl問 07/11 23:46
→ SppSpp: 題就閃的超快。 07/11 23:47
推 a22033166: 請問是中教大的學長嗎xD 加油‼ 07/12 00:16
不是耶ㄎㄎ~
推 ggttoo44: 如果沒有unit test分開寫是最安全的寫法 07/12 01:18
我說說我的想法吧~上面所說的function1、2
在功能ABCDEFG這幾個功能都會用到
如果在AB兩個程式用複製貼上,已能正常使用沒問題
那CDEFG這幾隻程式要加入function1、2之前
我會建議回頭先將function簡化整理,或是寫成class共用
而不是放任著他在各個功能中長出一模一樣的東西...
萬一今天要將格式全部改掉(比如說原本民國年要改西洋年)
那不就要將ABCDEFG全部打開來改= ="
我當初花了兩個月盤點全部功能,解決這一個問題
這單純是我的經驗談,或許每個人的狀況不同,適合的解決之道也不同吧
※ 編輯: souleye1983 (218.210.172.220), 07/12/2018 08:47:32
推 woora3: 推 07/12 10:47
推 senjor: 遇到變化追著需求走的新創或者一直快速反覆變動的RD需求就 07/12 11:10
→ senjor: 會有很多取捨問題了,先讓飛機飛上天,再來空中維修之類的 07/12 11:11
→ senjor: 駕駛則是一邊開飛機一邊看著自己的飛機面板一直改變 XD 07/12 11:11
→ senjor: 不過以你舉的例子來說,把函數提取出來是正確的。 07/12 11:12
推 bndan: 排水孔的落髮量&身體的體脂肪量...唉 講再說 還是一樣會有 07/12 17:24
→ bndan: 源源不絕越來越大量的屍體等著進來浪費人生 頭髮和身體價值 07/12 17:25
→ bndan: 罵半天還腦X的以為是在眼紅? 笑死..越是看多這行職涯的生老 07/12 17:26
→ bndan: 病死 越是覺得...這些人何必走這趟浪費人生一無所得呢? 07/12 17:26
推 leveger0903: 第一點以偏蓋全 主要是遇到的機率 07/13 20:12
→ newstar2007: 時間有限的情況下 第一點無可厚非 但如果很有時間是 07/20 21:32
→ newstar2007: 可以修一下 07/20 21:32