偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Oracle 程序員吐槽:我永遠(yuǎn)不會(huì)再為 Oracle 工作了

新聞
近日,某網(wǎng)友在 Hacker News 上發(fā)起了一個(gè) “你見(jiàn)過(guò)的最糟糕的代碼是什么?” 的問(wèn)題,引起了廣大網(wǎng)友的關(guān)注和討論,評(píng)論數(shù)已接近600條。其中,一位 ID 為“oraguy”的程序員對(duì) Oracle 數(shù)據(jù)庫(kù)代碼的吐槽,更是引發(fā)熱議。

[[271471]]

近日,某網(wǎng)友在 Hacker News 上發(fā)起了一個(gè) “你見(jiàn)過(guò)的最糟糕的代碼是什么?” 的問(wèn)題,引起了廣大網(wǎng)友的關(guān)注和討論,評(píng)論數(shù)已接近600條。其中,一位 ID 為“oraguy”的程序員對(duì) Oracle 數(shù)據(jù)庫(kù)代碼的吐槽,更是引發(fā)熱議。內(nèi)容大意如下:

  1. Oracle 數(shù)據(jù)庫(kù) 12.2。它有近 2500 萬(wàn)行 C 代碼。

這實(shí)在太恐怖了,簡(jiǎn)直難以想象!你做不到在不破壞成千上萬(wàn)個(gè)現(xiàn)有測(cè)試的情況下更改產(chǎn)品中的單單一行代碼。好幾代程序員在很緊的項(xiàng)目期限內(nèi)編寫(xiě)了這些代碼,代碼中充斥著各種各樣的垃圾內(nèi)容。

非常復(fù)雜的邏輯、內(nèi)存管理、上下文切換等,這些都用數(shù)千個(gè) flag 連接起來(lái)。整個(gè)代碼充斥著神秘的宏命令,如果不拿出筆記本,并且手動(dòng)去展開(kāi)相關(guān)的宏命令,就無(wú)法理清楚這些命令。甚至可能需要一兩天才能真正理解某個(gè)宏命令的作用。

毫不夸張的說(shuō),有時(shí)你需要理順 20 個(gè)不同 flag 的值和效果,來(lái)預(yù)測(cè)代碼在不同情況下的行為方式。有時(shí)多達(dá)數(shù)百個(gè) flag !

 

[[271472]]

這個(gè)產(chǎn)品仍然存活并且仍然可用的唯一原因是數(shù)百萬(wàn)次的測(cè)試!

以下是 Oracle 數(shù)據(jù)庫(kù)開(kāi)發(fā)人員的日常:

  • 開(kāi)始處理一個(gè)新的 bug 。
  • 花兩周的時(shí)間試圖理解 20 個(gè)不同的 flag ,這些 flag 以神秘的方式相互交互。
  • 再添加一個(gè) flag 來(lái)處理新的特殊場(chǎng)景。添加幾行代碼來(lái)檢查此 flag ,并解決有問(wèn)題的情況,規(guī)避該 bug 。
  • 將更改提交到包含大約100-200臺(tái)服務(wù)器的測(cè)試服務(wù)器集群,這些服務(wù)器將編譯代碼,構(gòu)建新的 Oracle 數(shù)據(jù)庫(kù),并以分布式方式運(yùn)行數(shù)百萬(wàn)個(gè)測(cè)試。
  • 回家。第二天來(lái)上班,繼續(xù)處理別的 bug 。測(cè)試可能需要20-30個(gè)小時(shí)才能完成。
  • 再回家。再來(lái)上班,檢查你的集群測(cè)試結(jié)果。順利的話,會(huì)有大約100個(gè)失敗的測(cè)試。倒霉的話,將有大約1000個(gè)失敗的測(cè)試。隨機(jī)選擇一些測(cè)試并試圖搞清楚你的假設(shè)出了什么問(wèn)題。或許還需要考慮10多個(gè) flag 才能真正理解 bug 的本質(zhì)。
  • 再添加一些 flag 以嘗試解決問(wèn)題。再次提交更改以進(jìn)行測(cè)試。再等20-30個(gè)小時(shí)。
  • 來(lái)來(lái)回回重復(fù)兩周,直到你得到了將這些 flag 組合起來(lái)的“神秘咒語(yǔ)”。
  • 終于有一天,你會(huì)成功,不再出現(xiàn)測(cè)試失敗。
  • 為你的新更改添加100多個(gè)測(cè)試,以確保下一個(gè)不幸接觸這段新代碼的開(kāi)發(fā)人員永遠(yuǎn)不會(huì)破壞你的修復(fù)。
  • 提交最后一輪測(cè)試的成果。然后提交以供審核。審查本身可能還需要2周到2個(gè)月。所以接下來(lái)繼續(xù)去處理下一個(gè) bug 。
  • 在2周到2個(gè)月之后,一切已就緒,代碼將最終合并到主分支中。

以上就是對(duì)在 Oracle 修復(fù) bug 的程序員日常生活的描述,一點(diǎn)也不夸張。現(xiàn)在想象一下開(kāi)發(fā)新功能會(huì)有多么恐怖。開(kāi)發(fā)一個(gè)小功能需要6個(gè)月到1年的時(shí)間(如果是添加一種新的身份驗(yàn)證模式,比如支持 AD 身份驗(yàn)證,可能需要2年)。

這款產(chǎn)品本身就是一個(gè)奇跡!

我不再為 Oracle 工作了。永遠(yuǎn)不會(huì)再為 Oracle 工作了!

責(zé)任編輯:未麗燕 來(lái)源: 今日頭條
相關(guān)推薦

2019-11-21 09:20:25

程序員數(shù)據(jù)多線程

2014-12-11 10:01:09

程序員

2013-08-26 11:27:47

程序員項(xiàng)目經(jīng)理

2020-08-12 09:34:40

程序員技術(shù)互聯(lián)網(wǎng)

2020-02-22 21:45:00

TypeScriptJavaScript瀏覽器

2013-07-24 14:17:10

2017-03-14 15:00:47

2019-09-16 09:42:57

人生第一份工作跳槽那些事兒程序員

2019-08-21 09:57:46

程序員跳槽那些事兒MySQL

2009-03-26 09:22:05

2021-02-20 13:55:35

程序員計(jì)算機(jī)技術(shù)

2013-04-28 11:03:41

編程語(yǔ)言程序員私有云

2012-05-11 09:13:28

程序員開(kāi)發(fā)者

2015-02-27 09:28:22

程序員

2018-05-11 15:41:45

IT人老程序員職場(chǎng)

2019-12-19 16:22:38

程序員征文

2012-05-21 17:37:17

Windows Pho吐槽

2013-05-22 09:30:01

Windows 8Windows 8系統(tǒng)

2009-10-13 14:49:00

工作求職之路

2020-07-13 08:08:05

程序員軟考原理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)