Foxx
https://images.plurk.com/4ZKl38sprxAcXpDHwQT8PD.png

這什麼莫名其妙的故事XD
香煎鰈仙喋喋不休
我覺得不意外 碰過類似的情況
香煎鰈仙喋喋不休
提交的更動牽涉跨越多個組的功能的時候,每個人都怕你改了這邊以後,留下的技術債變成他們組的,於是把自己組的規範搬出來說你要合規才給過,當各組的規範互相衝突大家就吵起來惹
香煎鰈仙喋喋不休
不過他的上級也太憨,其他組因為這更動吵架,就該趕快把這人撥去做其他事情吧
Jinbo
這什麼矽谷鬼故事XDDD
Jinbo
大概公司大到一個地步內部政治就比技術重要了XDDD
dwj
也不算是政治啦,這種底層protocol enum的更動,在整個系統裡除非是有預先規劃完全切開隔離,不然在上層應用邏輯裡就會產生缺漏
~欣迪~
看不懂技術面,但這情況蠻像以前我工作的地方,為了買一只高壓滅菌鍋,全院各科室都得開上好幾輪的會。最後單位主管等不及只好專案申報自己掏錢買了。
香煎鰈仙喋喋不休
是說也沒只寫了一行程式碼那麼慘啦,他起碼 幫人家 寫了文件
wuliou
老系統日常
香煎鰈仙喋喋不休
但軟體這塊也有分「什麼都要文件派」跟「文件無用派」(因為文件更動會寫一堆非程式碼的東西)的爭論
香煎鰈仙喋喋不休
> 產生缺漏

QA 測試呢... 不過這樣的話這個人有可能就要寫更多跟原本功能無關的東西惹
dwj
~欣迪~ : 簡單講就是底層原來某個enum本來只有ABC三個選項, 上層應用對ABC分別寫了不同的程式邏輯, 後來新人增加了新的選項D, 開發上層應用的Team就需要對選項D寫新的邏輯, 不然如果底層protocol傳了選項D到上層, 就會沒有對應的程式去處理, 或是直接被當作錯誤處理了, 上層系統越多, 被牽連的人就越多
~欣迪~
dwj : 呃,感謝解惑。經您這麼一說我懂了。
香煎鰈仙喋喋不休
採購比較像另一類的鬼故事
~欣迪~
邏輯。嗯,我想到以前碰過的奇怪狀況: 某個醫事單位的入口網站,登出之後竟然還有一個門得登出,不然可以從另外一個門進去。這不曉得是不是寫網站的出了邏輯問題。
Foxx
怎麼知道那一行是改enum的?
Foxx
不過這追根究底, 問題應該是enum被拿來跨部門分享吧? 這玩意我連跟同組的其他人分享都盡量避免, 都盡量透過API去吃別人的東西
dwj
就從噗頭文章猜的,往一個protobuf加一個枚舉值,這有可能是加一個enum value,或是增加一個enum type的參數,不過不管是哪一個影響都不小
香煎鰈仙喋喋不休
Foxx : 文中的「枚舉值」是 enum. Protobuf 是 Google 網路資料傳輸的 protocol, 所以應該就是在某個 API 的參數或回傳值的資料結構中加一個 enum 然後這樣就花了一個月敲定,而且那個 enum 應該本來就定義好了,所以是從那個欄位該取什麼名字開始吵成一團
香煎鰈仙喋喋不休
Foxx : Google 的服務常常有不同產品間互接資料的功能,把 A 的資料轉到 B,把 B 的資料又轉去 C 之類的。這篇如果不是瞎掰應該是踩到這個情況
Foxx
enum怎麼會翻成枚舉值的-_- 難怪共匪講的我都聽不懂-_-
Foxx
香煎鰈仙喋喋不休 : 好爛的設計XD
香煎鰈仙喋喋不休
Foxx : 我猜 Protobuf 應該有版本相容性相關的設計,所以傳輸上不會只因為 API 多送一個值就炸掉。但應該就跟上面 dwj 講的一樣,接到資料後的處理流程可能就會衝突到,所以其他部門的人被拉過來討論 然後就被一群老鳥盯著幫他們寫文件
香煎鰈仙喋喋不休
至於名詞翻譯真的是一片混亂
山頂洞人愛泡茶
載入新的回覆