首頁>Club>

21
回覆列表
  • 1 # CodeRoad

    1100億行程式碼不是光榮,是實實在在的挑戰,1100億怎麼來的不重要,如何搞定這1100億行程式碼的管理才是重點。

    《華為雲DevCloud 在大規模團隊Git協作的探索》,在最後提問中也正面迴應了知乎上有關華為雲1100億行規模程式碼庫的問題。華為雲專家的觀點如下:首先,華為的產品族多達幾十個,比如傳統通訊裝置域有路由器、交換機、傳送網、無線波分、5G等產品;晶片領域有手機麒麟晶片和伺服器鯤鵬晶片;伺服器領域有TaiShan;作業系統領域有鴻蒙、openEuler、LiteOS;資料庫領域有GaussDB等等,每個領域從硬體到驅動、系統模組,再到上層應用,相關元件與程式碼倉庫繁多。其次,華為的程式碼倉庫可以向前追溯十幾年,與 Google 等網際網路廠商最典型的區別在於華為程式碼的可追溯性。網際網路廠商的原始碼多數是釋出到自己的伺服器上,DevOps是可以從內部的原始碼倉庫走到內部的伺服器上,因此網際網路廠商多數不會維護一個10年前的版本與程式碼倉庫。而華為的程式碼倉庫是在內部Dev開發,產品釋出後卻是在使用者的機房中進行Ops的,因此華為必須要歸檔和維護歷史版本,尤其是釋出給使用者的版本,包括正式版本和補丁版本,導致程式碼倉庫數量非常多。綜上,華為的程式碼倉庫數量以及1100+億的程式碼規模,從現狀來看是存在的。

  • 2 # 喬不思

    1100億的程式碼庫 ,首先訊息是否屬實,屬實的情況下這1100億的怎麼統計的,是否使用的開源的輪子也算進去了,如果不算,這個就有點離譜,就打華為有兩萬人寫程式碼,平均一個人也要寫500多萬行。這個不是有點離譜 。如果把複製出來的程式碼也算進去。那就另說了。這管理起來的成本就很嚇人了 。

  • 3 # 甜菜琪

    2016年有幸參加華為核心網裡sanex專案,40多個g的程式碼,涉及mml開發,主要使用的語言是c/c++db是oracle,你以為這麼龐大的程式碼寫的很優秀?呵呵呵,哈哈哈,參與過的人來說一下吧,我怕被噴

  • 4 # IT老菜鳥

    只能說,華為的成功不是偶然的。華為的程式碼庫遠非是一般網際網路公司可以比較的,因為華為的產品線非常的全,我不知道1100億行這個統計如何來的,我懷疑還是有誇大的成分,但是本身華為的程式碼非常的海量,這是肯定的。

    至於華為產品架構是否合理,程式設計是否規範,各個公司有各個公司的要求,這個不好說,不過至少從華為產品的能力來看,至少華為程式碼的執行效率是很高的。

    例如智慧手機和可穿戴裝置華為的對手是蘋果、小米等;通訊產品華為的對手是NOKIA、愛立信、中興等;晶片華為的對手是高通、博通等;伺服器華為的對手是聯想、HP等,公有云之中華為的對手是阿里雲;攝像頭華為的競爭對手是海康.....

    總而言之華為的產品系列可以說是蘋果+小米+聯想+高通+博通+中興+阿里雲還有一些光伏、儲存等產品,而且華為的產品程式碼不但包括軟體的還包括硬體的、晶片的,因此華為的程式碼庫的龐大當然是可想而知了。

    所以,華為如果真有1100億行程式碼,只能說華為的成功是一代程式碼農用程式碼累計起來的。

  • 5 # DL小寶

    全世界約有20萬華為人,滿打滿算,人均程式碼量至少是55萬行程式碼,而一個普通開發人員的程式碼量一年大概是2萬行左右

    1100億行程式碼是什麼概念?

    Windows Vista的程式碼行數5000萬行,XP是3500萬行,98是1800萬行程式碼,95是1500萬行。最新版本的Windows10官方沒有公佈,預估在5000萬行~7000萬行。所以華為1100億行規模的程式碼量,大約是大家日常所用Windows程式碼量的2200倍。(不是崇洋媚外,Windows10複雜度蠻高的,難度不亞於造晶片)微軟的程式碼量算是多的了,之前看到谷歌的程式碼庫規模為10億行左右。

    程式碼是否有水分?

    因為華為是做通訊和硬體起家的,所以我估摸著這些程式碼大部分應該是C/C++程式碼。有個專門掃描程式碼的分析軟體,要是能掃一下就最好了,能掃描再去分析最有發言權,但對於我們普通大眾來說不現實,這可是人家的核心資產。就以我的個人經歷分享給大家作個參考,基本情況是,二流的科技公司,程式設計恰好也是用C/C++,所在部門的程式碼量700多萬行。我們用專門的掃描工具對700多萬行程式碼分析,發現會有大量的廢程式碼,比如,某某淘汰單板的程式碼,某某淘汰晶片的程式碼。另外,有一些外購的第三方庫。還有一些由於架構不合理造成的冗餘,比如兩塊單板大部分晶片相同,小部分差異,架構不合理造成80%以上的程式碼重複。當然華為的重複率有多少就不得而知,但這是我們的真實重複率。

    軟體或許是華為的短板

    華為是一家優秀的高科技公司,研發能力非常強。你不能否認一個事實1100億行程式碼的人力財力投入是巨大的,這本身就秒殺絕大部分科技公司。但相較於其通訊和硬體的地位,軟體能力還是短板。在內部的調整中,軟體是三級業務部了,被拆的七零八落!

  • 6 # 蜜蜂攻城獅

    華為大多數的程式碼都是外包人員寫的!外包寫的!寫的!

    至於程式碼質量,只能說湊合吧!

    在去年初,內部實行所有的研發人員必須寫程式碼,標準是每人30行/天。

    另外,至於1100億行程式碼。其中有很多程式碼功能相似的模組,在華為內部,實行內部競爭,一個內部使用的工具,有可能有很多個部門在同時的進行研發,然後內部進行對比。選出更好的,所以在內部rtools上有很多工具,甚至有非常多的完整版工具都沒人使用。

    華為其實是一家非常有危機意識的公司,很多工具市面上雖然有,但是如果華為內部覺得這個工具不錯的話,會自主進行研發,這個就是典型的危機意識。以便後期的工具不受制於人。所以很多第三方工具,要麼使用開源的,要麼直接購買,堅決不使用非常好用的工具,但是pdm上未收錄的工具,如果你想要使用,那麼先進行入庫申請,由安全專家進行稽核。

    華為在安全這一塊做的算是非常嚴格的了,相信做產品的都清楚黑鴨二進位制掃描,安全整改等事務,有時候會花幾個禮拜去專門做這個事情。

    華為自己有1100億程式碼庫,至少危險來臨的時候有所應對。

    作為一個程式設計師,也應該有自己的程式碼庫。

  • 7 # Z俠哦

    多是肯定多的,那麼多產品線,那麼多年的積累。說程式碼質量高的,要麼不懂,要麼無知瞎起鬨。提cmm5的,人家自己都多年不提了。

  • 8 # 逸心數碼

    在Nokia中某個部門有個工程師可能是全Nokia提交程式碼最多的人。

    Nokia的Symbian系統裡,所有的app的介面佈局和配置都是用XML格式儲存的,有介面和配置管理編輯工具來生成XML。

    但是XML直接用在手機裡面效能有問題,在當時的手機上實時解析XML是做不到的。

    於是工程師們的解決方案是開發一個工具把XML解析成C++程式碼,每個XML裡的資料都對應成C++的類和函式,然後app裡直接呼叫這些函式就相當於讀取XML的資料了。

    這種生成的程式碼有大約50萬行,而且隨時間還在不斷增長,每兩週上面提到的那位工程師負責生成這些C++程式碼,編譯測試通過後提交到程式碼庫,交給持續整合系統去編譯釋出。

    這位工程師每年的提交程式碼量接近1000萬行。

  • 9 # ErrorJ

    確實有這麼多,內部可以搜一下能看到1千多億行程式碼,但是並不是每一行都是寫出來的,華為的產品部門很多,其中重疊的功能也很多,但是各自的都有獨立的程式碼倉,很多程式碼都是相互移植使用的,所以這一千多億程式碼存在大量重複程式碼,這是不好的,說明部門之前獨立戰鬥,未來趨勢應該是平臺元件化,你這個產品需要什麼功能直接元件插入,而不是把別的部門原始碼拿來修修改改,自己維護。

  • 10 # 村長9828

    長征後如何看待二萬五千裡?至千里後如何看待跬步?

    至於要說程式碼質量,那是另一個維度 -- 技術維度的事,或者也許是隻看到了缺點吧。。。

    努力!

  • 11 # 思緒天馬行空

    雖然華為涉及的行業很廣,但我個人還是認為如此級別的程式碼量確實震驚到了。

    首先給我的感覺就是如此龐大的程式碼量太過於臃腫,想必裡面有多少程式碼需要優化啊。

    其次華為同型號不同規格之間也有不小的差別。給人的感覺不是特別好。

    最後希望華為能在總體上來管理程式碼質量。有更多優秀的碼農給華為優質的程式碼。

  • 12 # 仗劍江湖小遊俠

    如果華為有1100億行程式碼庫,華為從成立到現在接近30年,平均每年40億行程式碼。華為最初的程式設計師幾十人到現在的7萬人,取平均數3萬人。40億程式碼除以3萬,人均每年要寫13萬行程式碼,一年按300工作日來算,每人每天要寫400行程式碼,還要保證程式程式碼的除錯,測試,模組組裝,系統測試,改Bug。作為一個資深程式設計師,我認為除非是低水平重複勞動的複製貼上程式碼,否則很難保障程式碼的質量,效率,穩定性和可擴充套件性。

    程式設計,不是程式碼越多越好,真正動手敲程式碼之前,進行構架設計,分層和模組設計,介面設計,擴充套件性設計,穩定性設計,效率和容錯性設計,這些才是程式設計師真正花時間精力的地方

  • 13 # 黑白天地

    需要一個X專案對整個程式碼重新設計優化。就像重新寫C庫或OS。華為人才很厲害,但與國外頂尖人才比要弱的多,基礎庫,雲基礎軟體,AI基礎軟體,os和實時os都沒有自己的,編譯器不知是否真的自己搞的。

  • 中秋節和大豐收的關聯?
  • 尼桑是日系沃德發動機大獎次數最多的,為何國外同事說技術第一?