顯示廣告
隱藏 ✕
※ 本文為 terievv 轉寄自 ptt.cc 更新時間: 2018-05-04 11:17:57
看板 Soft_Job
作者 viper9709 (阿達)
標題 Re: [請益] 工作四年多開始迷惘
時間 Tue Apr 17 23:02:27 2018


※ 引述《accessdenied (存取違規)》之銘言:
: 還是很多人對 clean code 的烏托邦有著不切實際的夢想....
: 醒醒看看 real world 的例子吧......
: 下面都是真人真事
這真是個不錯的案例
簡單整理一下目前看到的做法
順便看看有沒更好的解法:P

1.直接寫死在Code裡 (cid==xxx)
這個就沒甚麼好說的了,公認的止血法
明天就要...大多數都會這樣改吧XD

2.另外寫個Class/Define/Const
這個算是1的改良版吧
將例外的cid統一保管,要加要刪甚至要重構都會方便點
比較有經驗的應該都會採用這一種(明天就要的話XD)

3.新增一個特殊的Level
某方面來說應該算最佳解了?
針對某個特殊需求直接開個對應的LV給他
以後要改也很方便,改完直接拿掉這個LV就好了
不過這個要考慮系統上新增LV是不是很容易
畢竟有的系統LV會綁很多,不是只有身分&功能而已
甚至有的系統新增LV還要過簽呈甚麼的,算大事一件
完全看系統的大小與設計~這個要改動的可大可小


4.將功能&Level完全獨立成兩張表,分別做設定
目前看來這個應該是最終解吧
直接開兩張表去設定各LV對應的各項功能
基本上彈性非常大,幾乎要怎麼做都可以
不過這個也是改動最大的解法,可以說整個系統要重做了
做完還要全部重新測試,可以說是大工程一件
如果系統已經上線而且穩定運作中,應該不會有人敢用這種解法...吧@@

最後附帶一提
其實客戶有種需求,客服真的應該幫忙擋的
畢竟這是誤解而不是有什麼損失
除非是超級大客戶,不然先例一開,以後一定會有第二個第三個需求
到時候整個系統就千瘡百孔了@@

一點點小淺見,分享一下^^"

--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.208.116
※ 文章代碼(AID): #1QrWo6if (Soft_Job)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1523977350.A.B29.html
Masakiad: 將系統改成容易新增各種level(及可以hook其特殊的handle1F 04/18 02:08
Masakiad: r)就行了。
zanyking: 這本來就是該擋掉的,擋不下來還洋洋得意這什麼鬼?3F 04/18 04:40
guest0079: RD跟客服在公司地位小到跟屎一樣 檔的下來才有鬼4F 04/18 07:35
guest0079: RD寫兩行code就搞定了 誰想站出來跟上面的人吵
guest0079: 軟體RD幫人擦屎的情況還會少過嗎
mathrew: 擋不下來就是老闆的問題,那也根本不必 clean code 了7F 04/18 07:43
guest0079: 你站出來檔 PM就跑出來說這麼多年來你的學長長官都馬上8F 04/18 07:45
guest0079: 幫客戶改 就你毛一堆 你難道要罵他幹你娘滾啦幹
guest0079: 而且系統能否活過下個月都不知道了 誰還管你克寧扣
guest0079: 還有啦 辛苦堅持clean code是為誰辛苦為誰忙啊?
guest0079: 公司每個人都為了自己個人利益不管公司死活了 誰還白痴
guest0079: 在那邊堅持我維護的系統要clean要好維護 大家都看的懂
guest0079: 然後為了pm能爽爽賺錢去酒店幹妹子 我就要加免費的班
guest0079: 還真以為無償加班是忙公司咧 只是幫到想爽不幹事的人啦
guest0079: 還不如隨便改完 好有更多時間上班看看A片滑滑手機啊
guest0079: 上班打混有錢賺 這麼爽的事擺在眼前 堅持啥鬼clean cod
guest0079: 是上班上到腦子燒掉了嗎 人蠢沒藥醫啦
crainlin: 水喔樓上19F 04/18 08:31
EightXD: 幹 怨念這麼深喔 XD20F 04/18 08:47
sorryla: 這種鳥公司也就不能怪強者都往其他地方跑,真強者誰想跟21F 04/18 08:56
sorryla: 你淌渾水。
sorryla: 反正公司也沒準則,東西隨便弄就好。花少少的錢請個只想
sorryla: 打混領錢的工程師剛好適得其所,反正改改if大一就會了。
nichinichi: 怨念好深xd25F 04/18 09:30
Argos: 怎麼崩潰成這樣?XD 是受過什麼傷?其實隨手改 最後RD也還26F 04/18 09:32
Argos: 是要加班 而且往後工作可能更痛苦啊
Argos: 你想想 需求是一直在變 隨手改完 等哪天需求又大改 你不但
Argos: 要做新東西 還要非常小心不能睬到之前的雷 這如果是你自己
Argos: 寫的你比較熟那還OK 別人寫的 你要怎麼辦?
Argos: 到最後就是加班加到死 bug滿天飛 PM還是爽去酒店幹妹 你還
Argos: 是免費當奴工 XD
Argos: 怎麼會有隨手寫就等於有更多時間打混這觀念?
Masakiad: 不用這麼崩潰啦,我們公司RD就很大啊。34F 04/18 09:37
MOONY135: 0079怨念很深35F 04/18 09:37
Argos: 然後你一定會扯 反正到時我也已經離職惹不關我的事囉~36F 04/18 09:38
Argos: 然後金履歷每三個月每半年就換工作 好棒棒
x000032001: 亂寫到最後沒人改的動的時候 炸彈就爆了 proj也死了38F 04/18 09:45
x000032001: 接到最後一棒的最雖 XDD
Argos: 然後老闆就會花大錢 請一個經驗老道的clean coder來整個重40F 04/18 09:46
Argos: 寫 來一次大改版 一次解決 結果到最後也還是得好好做
BBSealion: 堅持clean code當然是RD主管甚至是CTO的責任,小工程師42F 04/18 10:03
BBSealion: 不用想太多,只需要想如果RD頭都不堅持,要不要跑XD
BBSealion: clean code也是可以換算成成本,CTO提出clean與維護的
BBSealion: 成本,BD提出得罪客戶的成本,Boss兩相比較取其輕,就
BBSealion: 這麼單純而已,至於兩邊怎麼吵, Boss怎樣判斷就是實力
BBSealion: 體現了,至於基層RD只要考量解決眼前問題&該走該留就好
BBSealion: 至於小公司... 就有意見就提啊,向上管理也是重要能力
guest0079: A大你不要幻想了 你什麼時候有技術債要自己還的錯覺啊49F 04/18 10:43
guest0079:  我寫的爛程式只有我懂 增加自己的不可取代性 新人來半
guest0079: 年還看不懂程式當然就來罵一下啊 罵人可爽的勒 難道我
guest0079: 要花超多時間 面對pm與長官的壓力寫出新人好懂的程式
guest0079: 讓新人取代我嗎
Argos: 就怕你的爛程式連你自己都看不懂 然後搞死自己阿 XD54F 04/18 10:44
Argos: 老實說 好好寫clean code 更多的是為了自己好嗎?XD哪有那
Argos: 麼佛 還為公司為同事 就是一次把他改好 之後過了半年一年
Argos: 突然有東西要改 當初你已經寫好架構 幾小時就做完了 但爛
Argos: code的話 你還要先看三天 再改三天 再找bug三天 XD
Argos: 重點是你就算幾小時做完 你還是可以報半個月時程阿XDDDDDD
Masakiad: 0079 第一個在軟體版讓我不忍噓的...60F 04/18 10:47
Argos: 首先我真不懂 為何很多人先預設一個立場 你寫的爛code你自61F 04/18 10:48
guest0079: bug滿天飛? 踩到之前的雷?那是來接手的新人才會遇到62F 04/18 10:48
guest0079: 的問題 這時我當然是以救世主的身份下凡塵來下指導棋
guest0079: 啊 再痛罵新人發洩一下昨晚老婆不給幹的怨氣
Argos: 己一定看得懂 改得動?XD 自己搞死自己不敢承認嗎?65F 04/18 10:49
Argos: 所以你還是寫得出好東西才會下凡阿 XDDDDDDD
Argos: 下凡來寫垃圾 跟新人有何不同 XD
landlord: 所以很多人幹了十幾年還是沒有話語權的基層RD68F 04/18 10:57
guest0079: 還有你的幻想太虛幻了 系統寫爛掉要重構的時候 你以為69F 04/18 10:57
guest0079: 上面長官會去請clean coder高手來做嗎 整個系統搞爛的
guest0079: 時候是一整個共犯結構的問題 你敢隨便推RD出來負責 RD
guest0079: 就說是當初長官 PM 業務 董事長親口要我這樣改的 你敢
guest0079: 亂咬到時整個共犯結構聯合起來反咬你
landlord: 很多人養code自重讓別人無法接手,但自己也出不去74F 04/18 10:58
landlord: 也沒什麼,都是每個人自己的選擇而已。
landlord: 有能力的碰到這種沒能力的老鳥,幹不掉他就換老闆就好
guest0079: 就算要重構也是找我重構啦 別傻了 系統我模了好幾年了77F 04/18 11:03
guest0079:  PM業務客服要什麼也是我最清楚 你要去哪找一個高手來
guest0079: 淌這趟渾水啊 要擔歷史共業的耶 要下來吃屎的耶 要重新
guest0079: 確認需求的耶 跨部門溝通比寫程式麻煩的耶
Argos: 你沒遇過不代表就是虛幻阿?XD 找人來救火滿街都是吧?81F 04/18 11:04
Argos: 那待的公司少 朋友也少 沒聽過我也不怪你囉
pttworld: 對於外包工程師要怎麼反抗需求,沒有人講得清楚83F 04/18 11:07
guest0079: 你說的是救火隊 吃力不討好的救火隊啊 就是共犯結構把c84F 04/18 11:14
guest0079: ode寫爛了 在緊急情況找人來擦屁股的救火隊 救完火功
guest0079: 勞當然是寫爛code的人拿走啊 別忘了你們只是來救火的
guest0079:  救火失敗則是你們救火不力 飯桶!!
guest0079: 怎麼看都寧願當把code寫爛的人 也不要當 clean coder
guest0079: 救火隊啊
Sirctal: 當救火隊 上來也看不到你的考績90F 04/18 11:23
Sirctal: 還會嫌你怎麼都沒貢獻什麼新功能
Sirctal: 上面 這就是台灣大部分的上頭都這樣想 不要懷疑
Sirctal: 這裡是台灣
Sirctal: 所以找東西真的要慎選 在面適時就要問清楚
Sirctal: 上頭主管重不重視這個
guest0079: 光聽你說一句「老闆會花大錢 請一個經驗老道的clean co96F 04/18 11:43
guest0079: der來整個重寫」我就笑到翻過去了 哈哈哈哈哈 老闆會
guest0079: 花大錢捨棄原有能用又穩定的系統 冒險請一個不熟的人
guest0079: 來重寫 只因為code不乾淨??我合理懷疑你是學生 去打
guest0079: 工啦
Beersheep: 我有遇過整個專案重寫的欸 不過是把 rails 3 升級到 5101F 04/18 11:48
pttworld: 自己寫的code看不懂來戰有點硬凹了,要符合比例原則102F 04/18 11:48
Beersheep: 原本的 Code 也是整個悲劇 豆頁超痛103F 04/18 11:48
pttworld: 這篇level解的關鍵是一個人是否可以二個level以上104F 04/18 11:49
vi000246: 將心比心 當你處理不了自己留下的糞坑 跑去別家公司時105F 04/18 11:50
vi000246: 也不會想處理別家公司前人留下的糞坑吧
pttworld: 可以才能算是個解107F 04/18 11:51
lovdkkkk: 我有遇過整個銀行系統重寫的, C++ 轉 JAVA108F 04/18 11:56
TAKADO: 其實0079大的狀況在台灣應該不少,遇到這種環境只能一起109F 04/18 12:05
TAKADO: 當共犯或換個老闆。
TAKADO: 軟工好環境好上司比伯樂更難求
Argos: 「捨棄原有能用又穩定的系統」<-- 我以為我們在討論的是破112F 04/18 12:06
t64141: 0079,以前面試過一間公司,工作內容就是重構舊系統113F 04/18 12:06
Argos: 爛到已經完全改不動 也時常爆炸的系統耶 XD114F 04/18 12:07
Argos: 能用又穩定為何要找經驗老道clean coder?????
Argos: 老實說 寫爛code的人很多 通常都有自知之明 惦惦寫不敢張楊
Argos: 反正寫程式本來就是混口飯吃 每天看爛東西改爛東西 日子也
Argos: 就過了 錢還不是照拿?出bug照樣被罵 沒差啦
Argos: 但寫爛東西還這麼振振有詞 找一堆理由塘塞的 真的不多 XD
Argos: 居然還衍生出「爛code但很穩的系統不用改阿?」這種腦補
Argos: 打從一開始就是在討論「爛code到不能work的東西」好嗎?
Argos: 還是說你只是想表達 拎北寫爛code系統也超穩 怎樣?
guest0079: A大真的是外行人無誤 在老闆看來是能用又穩定的系統 在123F 04/18 12:18
guest0079: 工程師看來是爛到改不動 完全不衝突 就是因為這樣才會
guest0079: 養出爛code啊 老闆覺得隨便改一改就好(當然嘴巴不會說
guest0079: 隨便改改就好,但給工程師的時間壓力也只能隨便改改就
guest0079: 好)能動 不出問題 就是穩定的系統
guest0079: 誰不知道又爛有不能work的東西不能用啊 這根本沒有討
guest0079: 論的空間 不要鬼打牆了 要討論的是:能動能用不出包
guest0079:  但可能會慢慢長成爛到要爆炸很難維護的code
guest0079: 打從一開始就是在討論「爛code到不能work的東西」是嗎
guest0079: ?
guest0079: 沒人在討論這個 沒人會讓不能work的東西上線
guest0079: 你RD寫一個不能動的東西 pm業務客服長官一定馬上出來幹
guest0079: 爆你 根本沒機會把又爛又不能work的東西拿出去 根本連
guest0079: 上線都沒機會 你還想維護它??
guest0079: 就說A大一直都在幻想 不存在的事也在扯
Masakiad: 0079的工程師人格被扭曲成這樣還真是覺得心酸138F 04/18 12:46
jojojen: 結果這篇底下推文這麼長沒人陪原po認真討論怎寫139F 04/18 12:54
Masakiad: 有啊 我開頭第一個就講了。解不是單純解問題而是要重新140F 04/18 12:57
Masakiad: 架構成有彈性可擴充啊
applehpsh: 0079講得的確比較像是真實世界碰到的狀況142F 04/18 13:06
applehpsh: 當老闆的趕得是市場和產品上線的時程 根本不管啥clean
applehpsh: code 一開始的確大家會有衝勁去做好 但每當時程縮減
applehpsh: 之類的鳥事一再發生後 漸漸地就沒人管這事了
applehpsh: 畢竟工作還是得對人 這比寫code難太多了
jojojen: 那請問按原本例子有什麼理由不一開始使用原po第4點寫法呀147F 04/18 13:13
Argos: 「沒人會讓不能work的東西上線」到底是誰在幻想啊XDDDD148F 04/18 14:04
Argos: 還是你覺得能work的是會動就好就叫能work?好吧 我不曉得你
Argos: 標準這麼的低耶 老闆看來很穩?就是在討論老闆都覺得整天出
Argos: 問題啊 自顧自講自己的 好吧都給你說XD
Argos: 是說 假設這個APP可以打開 但非常容易當掉 有時會有時不會
Argos: 你覺得這叫做「能work」嗎?你覺得這叫「穩」嗎?
Argos: 現在外面產品 滿滿都是這樣子的東西喔?XD 不能上線?誰在
Argos: 跟你幻想勒?
Argos: 還是說你覺得只要能動就叫穩?不定時壞掉不算不能work?
Argos: 那誰是外行?還是你拿A來討論我講的B?XD
Argos: 你的前提是「老闆覺得沒問題」 我的前提是「老闆已經覺得這
Argos: 樣不行了」然後再來講別人幻想 明明就你一個人再那邊自言自
Argos: 語吧?XD 我知道工程師寫code寫久了有些容易活在自己世界啦
Argos: 但你也未免太嚴重了一點 XDDD
Argos: 要不要回去翻一下推文?老闆找clean coder我是接上一樓的聊
Argos: 上一樓的前提是啥?「已經爆了」OK?誰在跟你講老闆覺得穩?
Argos: 連推文都看不懂 還在那邊跟人家講一堆 功力很高啊 XD
accessdenied: 其實code很糟跑起來很穩的系統真的存在,這就是黑箱165F 04/18 14:52
accessdenied: 和白箱的不同,例如彈性和穩定性本來就有些衝突
accessdenied: 老闆看到的是黑箱,操作正常,沒有客訴。工程師打開
accessdenied: 看到一堆hardcode和retry loop達成的功能...
accessdenied: COBOL很不彈性啊,全都是業務邏輯寫死,但是銀行就
accessdenied: 愛這樣,因為夠穩定
y3k: 大部分現在還在用COBOL的銀行都是迫於無奈吧171F 04/18 14:57
APTON: 寫一堆爛CODE,只會讓自己出包的機會越來越大啊。爛code還172F 04/18 15:00
APTON: 不會妨礙到RD只是因為問題還不夠大,可以靠細心跟謹慎去避
APTON: 免。等到要避免的事情龐大到一個程度,出包的頻率只會越來
APTON: 越高....
APTON: 當然可以在問題太嚴重前轉換跑道,但是能這樣幾次?除非永
APTON: 遠只當junior。
APTON: 或許不小心轉職成為小主管,但是這時候爛系統出包就真的成
APTON: 為你的kpi。
APTON: 又或許當個擁code自重的老鳥,賭公司永遠不敢改革,但是賭
APTON: 的是自己的職涯發展,贏了能得到一份穩定的工作以外,你的
APTON: 職涯只剩這包爛code....
APTON: 不覺得人生這樣有點唏噓嗎...
APTON: 如果不是公家機關的資訊部門,這樣的生活我覺得蠻抖的@@
Argos: 我最後只再說一次 我針對的是爛code又不穩的東西 你們硬要185F 04/18 15:16
Argos: 去討論爛code但很穩的東西 然後再拿這東西反證爛code也沒
Argos: 差 那就是倒因為果 是非不分
Argos: 通常爛code又穩的東西 多半都是東西很小 而且需求非常穩定
Argos: 照一開始講沒兩天就改需求改功能的 系統夠大你爛code有可能
Argos: 寫到很穩嗎?XD 拜託回到現實裡來好不好 XD
vi000246: 請定義"穩"... 不是能動就是穩191F 04/18 15:20
Argos: 還有一種可能啦 就是該專案頂多就是公司官網 有個後台可以192F 04/18 15:25
Argos: 上上公司最新消息這樣 那你都接這種案子 什麼clean不clean
Argos: 當然差沒有很多啦 接案接久了 就講軟體工程技術都是屁 XD
ku399999: 爛code穩定 然後呢? 是不是不敢亂動?加功能很難加?195F 04/18 16:16
ku399999: 去叫startup 爛code穩定看看 大家都開銀行?
ku399999: clean code不是聖旨 但把他當垃圾就太超過了吧
y3k: 我覺得大家可以這樣認為 就是個寫了爛code被洗臉上來討拍的XD198F 04/18 16:22
Ekmund: 我自己遇到的循環是199F 04/18 16:29
Ekmund: 根據現有需求 跟預想到的 架構一個系統
Ekmund: 因市場改變、主管換人 習慣xxx...->新增對應機制A
Ekmund: 接著冒出B, C, D...
Ekmund: 改到X時發現一堆東西重複、打架、用不到了etc
Ekmund: 於是某個公司的老江湖發布重構計畫
Ekmund: 老闆照常發案 用人主管盡量排開該老人 但仍以案子需求為主
Ekmund: 接下一年左右時間 新架構誕生 或是胎死腹中
Ekmund: 由老闆因為不敷需求主動提出改架構的情況 倒沒發生過
Ekmund: 老闆動的都是組織 除非嚴重影響營收 不然不管凡塵事
Ekmund: 新架構出來一定是clean code 前架構的ABCD會被系統化
Ekmund: 直到新的ABCD誕生
Ekmund: 正常循環下兩者都難以避免 只是有優先權
Ekmund: 照時程出版 > clean > 寫特例
Ekmund: RD在這中間的義務是分析需求 規劃時程給上面評估
Ekmund: 主管單位方案選擇負責 RD對方案時程負責
Argos: 主動提的老闆我也從沒見過XD 一般都馬是老闆吵吵鬧鬧 最後215F 04/18 17:01
Argos: CTO或技術部最大頭受不鳥 只好哭著重構 哈
Ekmund: 是說我家RD頭子才對業務頭子嗆 有本事你下來寫..XD217F 04/18 17:01
expup: 我有遇過老闆主動提的因為業務需求大到原本架構已經撐不下218F 04/18 17:03
Awenwen: 看完有些推文,深深體會進怎樣的公司果然很重要…219F 04/19 02:03
zanyking: 回accessdenied:那種銀行系統我看過,他的穩定是建立在220F 04/19 02:09
zanyking: 不能改上頭的,能改的也就是加點欄位之類的東西
zanyking: 一但真的有會改變流程的需求,那就只好測到天荒地老
zanyking: 10幾年前在中國信託永吉大樓地下室,看過一拖拉庫IBM
zanyking: 外包商就是進駐在那邊,每到下午就一小群在騎樓休息
zanyking: 然後時間到就回去跟AS400 還有DB2奮戰
zanyking: 架構是為了適應變化而存在的,也就是哪天有誰要接手
zanyking: 怎樣可以最快載入這段系統的所有細節,給改code的人最大
zanyking: 的信心去更改系統,介面、封裝、層次規劃都是為了這些
zanyking: 古時候compiler比較笨,還會需要手工inline,但現在
zanyking: 已經不是這樣了
Clain66: 就面試時注意一下公司 RD 的話語權,沒辦法進到那種注重231F 04/19 07:33
Clain66: 程式架構的公司就自己摸摸鼻子想想要不要一起沉淪,都是
Clain66: 自己的選擇罷了。
accessdenied: zanyking搞不好我們見過捏,十幾年前我也在永吉地下234F 04/19 08:06
accessdenied: 室待了一年左右,還經歷過那次台北市大淹水,永吉地
accessdenied: 下室完全被水埋,裡面所有設備全部報廢的日子
EightXD: 某大A真的破功了 以為經驗豐富 後面講的東西根本完全脫237F 04/19 08:47
EightXD: 離現實 真的感覺就是0079大講的還沒出社會的學生
lovdkkkk: 曾是 IBM 外包團裡的小咖, 九年前兆豐銀行福洲街二樓239F 04/19 08:51
hakama99: https://goo.gl/HDVost  看看這篇吧...240F 04/19 10:01
工程師應該放心大膽地創造技術負債 – 工程師幹話 – Medium
舉個例子,假如你是警察,你決定要認真抓小偷,於是上個月在你的管區破獲了五十起竊盜案,這個月因為你的努力,破獲的案件增長到一百件 — 這代表什麼呢?這代表看起來你的管區治安變差了,而你應該要為治安變差負責,你才是應該被檢討的對象。於是你知道,警察好像應該要想辦法破案,但實際上,你的績效並不是來自破案, ...

 
senjor: 為什麼大家預設都是要加班加到死,準時下班就不用管這些了241F 04/19 10:10
senjor: 上面有啥鬼需求都滿足他們,反正準時下班就好。
pttworld: 提到話語權,專案外包駐點工程師能嘴什麼243F 04/19 11:20
pttworld: 甲方動不動叫你明天不用來,我的下屬這一年已經換了4個
SilvesterW: RD的話語權當然是要靠自己啊,能夠自我提升、做事有245F 04/19 11:58
SilvesterW: 成果,說話自然就會有份量
SilvesterW: 不過我想這種RD也不太會去駐點變成p大的下屬吧XD
pttworld: 能否帶專案要看人格特質,強調自我實現或喜歡當出頭鳥,248F 04/19 12:52
pttworld: 通常是往顧問的方向,自己選擇錢有賺到就好
oneheat: 貼薪資單就知道是不是學生了啦!250F 04/19 14:48
oneheat: 吵成這樣,什麼學生不學生的,薪資單一貼一目了然
WiseLin1125: 之前不是都貼過薪資單了?自己google都有吧?252F 04/19 20:37
Argos: 自己只能在那種等級的公司問還質疑別人是學生 我也是笑笑253F 04/19 22:37
THEWORLDS: zanyking銀行系統建立在不能改,請問我來到學生版了嗎?254F 04/19 22:40
THEWORLDS: 你他媽寫哪間死人銀行的專案不能回頭改,銀行專案屌就
THEWORLDS: 屌在分層架構就是細,你可以抽取一個CLASS掉沒問題這個
THEWORLDS: 在銀行專案算是最最最基本的,但是你能夠直接解藕工程
THEWORLDS: 師,讓pm sa去協調寫文件就好這才叫真正的架構好嗎
THEWORLDS: 不要自己不懂系統分析師在幹小就嫌人家code髒
THEWORLDS: 真的看不下去一堆沒實際做過的在那邊說code多難讀,講
THEWORLDS: 的好像code寫很髒很爛,是很爛那你怎不反思你會覺得難?
THEWORLDS: 閱讀? 他爛那他的code根本就秒解,爛人寫爛code也不會
THEWORLDS: 有分層架構更不會有一堆界面你根本不需要追多少CODE
THEWORLDS: accessdenied我就不想說了,人家年薪300都開不瞭FORK了
THEWORLDS: 一個工程師會講到CODE很糟糕跑起來很穩是因為黑箱白箱
THEWORLDS: 這種話,大概就學生會去當他的迷迷而已,用嘴巴寫CODE
THEWORLDS: COBOL也敢拿出來說,銀行還有哪間再用COBOL的你跟我講
stfang925: XD268F 04/19 23:33
sharku: 隨手寫clean code不難啊,有沒有心而已269F 04/19 23:42
zanyking: THEWORLDS我講哪個年代你罵哪個年代?然後我哪裡說銀行270F 04/20 03:07
zanyking: 系統建立在不能改?
zanyking: 我說的是『那種』系統不能改,而我指的不能改後面也
zanyking: 解釋了,是他很難改下去沒問題,會測到天荒地老
zanyking: 全稱特稱搞清楚很難?
mrforget: 一堆銀行還在用COBOL阿,104還有在徵人維護阿。275F 04/20 10:23
APTON: 還是有銀行用cobol喔,只是一線銀行的確開始在淘汰了276F 04/20 13:22
Void956: 看完了整篇 有些人真的跟年輕的我一樣 天真277F 04/21 01:17
Void956: 現在我已經不太天真了
Void956: 爛CODE??  怎麼定義? 你看不順眼的嗎?
Void956: 那這樣 這世界上 還真的沒有什麼好CODE了
Void956: 很糟的CODE 成因很多
Void956: 重點是 老闆不太可能請人來整理
Void956: 沒有老闆會花那種閒錢去改CODE 然後沒有辦反製造任何營
Void956: 收的功能
Void956: 沒有老闆會想浪費錢在 無法賺錢的東西上面 這就是現實
Void956: 還有 這世界上沒有所謂好的CODE
Void956: 對你來說好的CODE對其他人而言 未必是好的CODE 請先搞清
Void956: 楚這一點
Void956: 光思維方式就不一樣了 所以建構出來的CODE 本身就會有差
Void956: 異
Void956: 不是你看不懂 或者 看不慣的CODE 就是爛CODE
Void956: 在台灣 寫好的CODE未必有高薪 牽涉到職場 文化生態
Void956: 這是個很現實的問題 理想VS薪水 二選一
WiseLin1125: 還沒到大神level的話,推理想vs薪水二選一294F 04/21 07:19
sorryla: 自己遇不到好老闆就說世界上沒有,看來看的還不夠多295F 04/21 10:34
sorryla: 好CODE有很多可以討論,但爛CODE通常一看就知道了
sorryla: 一個function塞五千行,copy paste重複code,命名亂用
sorryla: 如果你是有能力寫好但故意寫爛,只能說找自己和別人麻煩
sorryla: 如果是本來能力就寫不出好CODE,那也不用說啥寫好CODE未
sorryla: 必有高薪這種話,因為你從來沒有踏進那個門檻
sorryla: 就跟考不上四大的人最愛講四大出來也不一定有高薪一樣
Void956: 一個func裡面5000多行 code 現在正常運作 你趕去改它嗎 ?302F 04/21 12:20
Void956: 改了 以後出 Bug 算你頭上 你要揹黑鍋嗎?
Void956: 然後你改善它後 客戶沒有感覺 你覺得 老闆會願意讓你花
Void956: 那種詭時間去做嗎 ?
Void956: 好老闆有是有 但是很看機率
Void956: 但是大多人都是 非洲血統而不是歐洲血統
Void956: 重點是 大家都寫爛code 你寫好code 那出問題的 肯定是你
Argos: 到底在講什麼碗糕啦?爛code之所以會被人唾棄 是因為爛code309F 04/21 17:26
Argos: 「影響」到人或公司了啊?對人或公司沒影響誰管它啊 到底搞
Argos: 不搞得清楚狀況阿?在那邊說爛code不改它根本很穩沒事?講
Argos: 這什麼幹話廢話?公司產品通通都不會變不會改 誰管他code長
Argos: 怎樣?東西很穩 誰要去動它?
Argos: 今天就是因為「需求一直在變」「東西一直在改」所以才要你
Argos: 把code寫好一點 func五千行你不改它當然沒事 但每周都有新
Argos: 需求 三天一小改五天一大改 這能不出bug?這不分層行嗎?
Argos: 什麼爛code定義是啥?很簡單就是這東西整天要改 然後你工程
Argos: 師整天都改不好 改東錯西 改南錯北 整天出bug老闆一直該
Argos: 一打開code大概90%是垃圾啊
Argos: 今天討論的重點就是在這邊 一堆還在那邊一直跳針跳針跳針
Argos: 是在跳什麼鬼東西啦 對牆璧講話膩啦?
Argos: 講什麼爛code不改他很穩又沒差?爛code穩穩的我幹麻去動?
Argos: 阿就是今天就是在討論有需求有改變時的狀況是在跳針三洨啦
Argos: 一堆寫code真的都活在自己世界耶 自己設亂設前提講一堆屁
Argos: 我最後再講一次 重點在「改變」
Argos: 改變改變改變改變改變改變改變改變改變改變改變改變改變改
Void956: 好code 爛code 定義很模糊327F 04/21 17:45
Void956: 觀點不同答案也不同
Void956: 對老闆來說 能賺錢的Code就是好code
Void956: 對開發團隊來說 好完成任務需求的 就是好code
Argos: 問題就是你根本沒有辦法完成任務需求阿XDDDDDDDDDDD331F 04/21 17:49
Argos: 老闆要賺錢開一堆需求 開發團隊寫垃圾狂出包
Argos: 你不因應這些一改再改的需求作封裝作架構 還在一個func五千
Argos: 行?阿這不是寫垃圾是啥?重點是還引以為傲
Void956: 而團隊內正常是大多數人的公認好不好335F 04/21 17:51
Void956: 不過也常常是老大說的算
Void956: 那你就得跟老闆說 你要改那坨很鳥的Code所以 相關功能到
Void956: 時候要重新測試
Void956: 很多時候這種東西都是前人留下的東西
Void956: 雖然我也討厭爛code但是很多前人留下來的爛code 你還是必
Void956: 須解決
Void956: 這就是現實
Void956: 另外很多好code
Void956: 經過多次需求變更後
Void956: 會變成爛code
Void956: 而上頭不會給你時間去解決他們
Void956: 這就是現實狀況
sharku: 回樓上 改的時間就可以慢慢解決了 不能解決是你的問題348F 04/21 19:44
Void956: 問題就是上頭不給時間349F 04/23 10:20
Void956: 另外你以為你改完就沒事了嗎?
Void956: 你怎麼驗證你有沒有該的正確?
Void956: 以及到底改善多少?
Void956: 這都要花時間
Void956: 你來上班 對老闆來說就是燒錢
Void956: 改完後對於 客戶而言沒有感覺
Void956: 這種修改你要怎麼說服老闆給時間?
sharku: 看來是位不寫測試的朋友呢357F 04/24 21:44
Argos: 他會跟你說寫測試要花時間 而且寫了測試也不一定沒bug 嘻嘻358F 04/24 22:51
sharku: 不寫測試->改A壞B->改很慢->沒時間->怪老闆359F 04/24 23:11
accessdenied: 真把寫測試當萬靈丹的天真娃360F 04/24 23:20
sharku: 樓上在說自己嗎? 但沒寫測試真的廢,不否認361F 04/24 23:43
Void956: 樓上的老闆真有閒錢資源可以玩啊 要不要報一下名號啊362F 04/25 19:22
sharku: 我涵蓋率沒個60~70%是不能放心的 也從沒delay過時程363F 04/25 23:49
sharku: 不知道寫測試會慢的理論哪來的, 寫太慢嗎還是?
sharku: 不會寫測試也沒關係啊,學就好了,但這種論調真的呵呵

--
※ 看板: terievv 文章推薦值: 0 目前人氣: 0 累積人氣: 262 
分享網址: 複製 已複製
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇