gta5獲所有武器代碼,gta5全武器無限

首頁 > 汽車 > 汽車資訊 > 正文

gta5獲所有武器代碼,gta5全武器無限

大家好,講道理,許多做過代碼屆“接盤俠”的程序員們,某種程度上可能十分理解電影中執(zhí)著于毀滅世界的反派:“與其在現(xiàn)有基礎(chǔ)上修改,還不如直接把這堆祖?zhèn)鞔a毀滅再重建!”

祖?zhèn)鞔a,從字面意思來看,就是一代代老程序員們留下來的“寶藏”代碼——這些長年累月的代碼中存有很多隱患,后來的“接盤俠”們要么無從下手,要么一改就崩,幾乎可以說是程序員們的“終極噩夢”,因此也被稱作“屎山代碼”。

這不,最近又有一個“倒霉蛋”火上了HN熱榜:“我繼承了我見過的最差的代碼和技術(shù)團(tuán)隊,該怎么辦?”

01 擁有12年歷史、沒有版本控制的“祖?zhèn)鞔a”

從這位“接盤俠” @whattodochange 闡述的現(xiàn)狀來看,他這次繼承的代碼歷史長達(dá) 12 年,是沒有版本控制的 PHP 代碼,居然每年還能產(chǎn)生超過 2000 萬美元(約人民幣 1.4 億元)的收入

  • 這些代碼每年能產(chǎn)生超過 2000 萬美元的收入。
  • 運行在 PHP 上。
  • 已經(jīng)在生產(chǎn)環(huán)境直接開發(fā)了 12 年,沒有源代碼控制(都是像 index-new_2021-test-john_v2.php 這種)。
  • 沒有使用 composer 或任何依賴管理,都是 require_once。
  • 沒使用任何框架。
  • 路由管理完全是在 NGInX 中重寫的(NGInX 的配置大約是 10000 行)。
  • 這些年只在不斷往上堆代碼,沒刪除任何代碼(我推測這是因為代碼是直接在生產(chǎn)環(huán)境開發(fā)的,刪東西太危險了)。
  • 數(shù)據(jù)庫結(jié)構(gòu)也是一片混亂,沒有遷移等等。要添加一個列時,由于數(shù)據(jù)量大,他們一般會建一個新表,然后用 join。
  • JS 和 CSS 也是如此。jQuery 的不同版本互相打架,具體取決于你在哪個頁面,有時甚至同一個頁面也會有。
  • 當(dāng)然沒有 MVC 模式或其他模式什么的,沒有模板庫。這是 PHP 2003 的樣式。
  • 在很多地方,我看到像是 Controller 一樣的文件,向它自己的 rest API 發(fā)出 curl 請求(通過域名而非 localhost)進(jìn)行 oauth 授權(quán)等…然后只是為了獲取菜單項或產(chǎn)品列表。
  • 沒有緩存(但有 memcached ,但只用于 Session…)。
  • 團(tuán)隊只有 3 個很年輕的人,一個后端,一個前端,一個 iOS/android ,他們對代碼變革非常抵觸。
  • 生產(chǎn)力很差,這可以理解——亂七八糟的東西實在是太多了,根本沒辦法做新東西。

以上就是 @whattodochange 目前所接盤的代碼和團(tuán)隊現(xiàn)狀,他頭疼道:“我必須要找到一個策略來修復(fù)這個開發(fā)團(tuán)隊。”

面對這個“爛攤子”,@whattodochange 想到的解決辦法是完全重寫,但由于公司管理層和總部對這些阻礙因素并沒有真正了解,業(yè)務(wù)部門對這個項目有非常積極的規(guī)劃路線,且疫情之下公司的預(yù)算很緊張,導(dǎo)致 @whattodochange 根本無法推進(jìn)。

因此,@whattodochange 發(fā)帖求助:“我知道完全重寫是必要的,但要如何平衡?”

gta5獲所有武器代碼,gta5全武器無限

02 逐一改動 or 擺爛跑路?

對于 @whattodochange 的遭遇,不少有經(jīng)驗的程序員深有同感,也提出了一些應(yīng)對“祖?zhèn)鞔a”的具體建議。

“完全重寫不是必需的,甚至可能是最糟糕的方法。可以一次做一件事,最終你會重寫所有代碼,但永遠(yuǎn)不會陷入‘完全重寫’的陷阱中。

不過在重寫一行代碼之前,記得要做大量的測試。如果有端到端測試,這些測試運行在客戶群當(dāng)前使用的每個功能中,那么您就有一個基線來安全地進(jìn)行更改。只要測試通過,就可以刪除代碼。

不要想著去推動變革,嘗試擁抱這個每年賺 2000 萬美元的可怕代碼庫,和團(tuán)隊討論討論如何在能力范圍內(nèi)改進(jìn)即可。”

作為這個開發(fā)團(tuán)隊的經(jīng)理,你的任務(wù)是要得到高管支持來逐漸解決這個爛攤子。你沒必要告訴高管或團(tuán)隊具體要如何修復(fù),只要有時間和空間上的支持就好。

有一種辦法是每周五集合團(tuán)隊一起來測試,但可能會經(jīng)常被緊急任務(wù)擠掉;另一種辦法是讓每個更新的發(fā)布速度稍慢一些,這樣就有時間優(yōu)化每次更新所涉及到的其他代碼。例如,業(yè)務(wù)要求添加功能 X,那么你就給相關(guān)的現(xiàn)有功能 Y 添加一個測試,可以對團(tuán)隊說優(yōu)化 Y 是為了讓添加 X 更為方便。”

不過,也有部分程序員在了解 @whattodochange 的現(xiàn)狀后,認(rèn)為“擺爛跑路”是最優(yōu)解:

“你應(yīng)該考慮辭職。雖然你知道這代碼很爛,但它確實能帶來每年 2000 萬美元的收入,所以你的團(tuán)隊不想變革,業(yè)務(wù)人員也不會關(guān)心代碼質(zhì)量。他們會認(rèn)為:反正 2003 年樣式的 PHP 代碼就可以實現(xiàn)這個收入,那不挺好,干嘛要浪費財力和精力去重寫?

最后,你很難說服你的開發(fā)團(tuán)隊和業(yè)務(wù)部門同意重寫這個決定,甚至還會招來仇視,而你自己也會討厭這樣的工作氛圍。”

“為了避免自己受傷,我勸你擺脫這種混亂的處境。我之前也一直處于類似的情況,花了快五年的時間試圖解決,但最后還是心累地放棄了。”

03 血淚教訓(xùn):人跟代碼有一個能跑就行了

其實在現(xiàn)實中,幾乎所有軟件開發(fā)公司都有各種老大難的“祖?zhèn)鞔a”,像 @whattodochange 遇到這種 12 年歷史的都還算年輕的了——一般越大規(guī)模越厲害的公司,“屎山”代碼的情況越嚴(yán)重。

  • 《GTA 5》聯(lián)機版中循環(huán) 19.8 億次的 if 語句,被許多人稱作游戲開發(fā)史上最大的“屎山”代碼,存在了 7 年 R 星(游戲開發(fā)商 RockStar)的程序員無人敢動。最終,還是一位黑客大哥看不下去給出了解決方案,R 星這才官宣要修復(fù) bug,并給這位黑客獎勵了 1 萬美元。
  • 一位亞馬遜工程師也曾形容他們公司的代碼為:“一座很大的屎山,一座你見過的最大的山,每次你想修正一個 bug,都得爬到屎山的正中央去。”

類似地,國內(nèi)也有許多程序員分享過他們遇到的各種“骨灰級”祖?zhèn)鞔a:

  • “公司代碼已經(jīng) 40 年了,最早寫代碼的人不知道是否活著,要命的是文檔沒留下,項目代碼堆在一起能有 90 多 G。”
  • “我要升級的那批代碼寫于 2000 年前,最早的部分可能寫于 1980 年代貝爾實驗室。第一批維護(hù)升級做需求的人早就退休了,第二批也退休了,每一行代碼動起來都膽戰(zhàn)心驚。”
  • “曾經(jīng)在 Visa 工作過,感覺什么 10 年 20 年的代碼簡直 naive,你見過 1965 年的代碼嗎?第一次看到簡直驚呆了,這半個世紀(jì)的代碼現(xiàn)在還在用還跑的好好的?”

可能對于很多剛工作的萌新程序員來說,看見這些各處都埋著“”的代碼第一反應(yīng)就是“推倒重來”,但大多都得到了血淚教訓(xùn):“有的時候,代碼能運行就不要嘗試去改,哪怕是遇到屎山一樣的代碼”,可能還會對新人建議道:“人跟代碼有一個能跑就行了。”

那么,你是否在工作中遇見過令人發(fā)指的“祖?zhèn)鞔a”,最長擁有多少年歷史?你是選擇逐一改動還是放任不管?

備案號:贛ICP備2022005379號
華網(wǎng)(http://m.acmerblog.com) 版權(quán)所有未經(jīng)同意不得復(fù)制或鏡像

QQ:51985809郵箱:51985809@qq.com

亚洲一区无码精品色| 亚洲精品无码不卡在线播放HE| 久久久久人妻精品一区蜜桃| 国产99视频免费精品是看6| 亚洲精品无码久久久久久久| 久久99精品久久久久久齐齐| 无码精品一区二区三区| 久久精品国产只有精品2020| 精品一区二区三区视频 | 精品久久久久久99人妻| 无码日韩精品一区二区免费| 久久91精品国产一区二区| 国产91精品黄网在线观看| 欧亚精品一区三区免费| 亚洲精品国产第1页| 国产精品扒开腿做爽爽爽视频 | 国产成人精品亚洲精品| 精品久久久久久中文字幕无码| 99re6在线视频精品免费下载| 91原创国产精品| 日本一区二区三区精品国产| 亚洲国产精品无码第一区二区三区 | 亚洲国产精品嫩草影院在线观看| www.午夜精品| 精品日韩一区二区| 国产精品69白浆在线观看免费 | 精品国内在视频线2019| 国产精品人人爽人人做我的可爱| 国产精品视频全国免费观看| 精品亚洲福利一区二区| 亚洲午夜精品久久久久久app| 91精品国产入口| 久久精品黄AA片一区二区三区| 亚洲精品二区国产综合野狼| 精品无码人妻一区二区三区不卡| 精品人妻中文无码AV在线 | 国产精品青草久久| 国产精品久久久久久久小说| 一本精品中文字幕在线| 国产va免费精品观看精品| 国产精品天天影视久久综合网|