<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          騰訊以及各大廠的 C++ 開(kāi)發(fā)環(huán)境是什么樣的?

          共 8238字,需瀏覽 17分鐘

           ·

          2021-06-16 10:20

          點(diǎn)擊上方小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(shí)間送達(dá)

          本文轉(zhuǎn)自|深度學(xué)習(xí)與計(jì)算機(jī)視覺(jué)

          看網(wǎng)上各種 editor、IDE 以及各種工具的比較和撕逼,就 Linux C/C++ 開(kāi)發(fā)來(lái)講,讓我們看看一線互聯(lián)網(wǎng)公司更偏愛(ài)哪種?


          作者:知乎用戶(hù)
          https://www.zhihu.com/question/265829202/answer/1081457634
          簡(jiǎn)單介紹下騰訊微信事業(yè)群后臺(tái)開(kāi)發(fā)環(huán)境。

          微信事業(yè)群比較特殊,喜歡自己搞一套東西自己用,有些基礎(chǔ)設(shè)施跟騰訊其他事業(yè)群的不太一樣。

          硬件:

          現(xiàn)在通常是macbook pro + 遠(yuǎn)程Linux主機(jī)。遠(yuǎn)程主機(jī)方面當(dāng)前已經(jīng)舍棄了以前集體戶(hù)式的開(kāi)發(fā)機(jī),每人擁有一臺(tái)相對(duì)獨(dú)立的云主機(jī),我的配置是8核Xeon Gold + 16GB + 500GB,考慮到這臺(tái)機(jī)絕大多數(shù)時(shí)間只是跑個(gè)編輯器,性能還是挺富余的。

          軟件:

          代碼編輯:老員工通常是vim,基本沒(méi)見(jiàn)過(guò)emacs。新員工很多開(kāi)始用vs code了。我身邊絕大部分人是用vim的,大家有時(shí)會(huì)互相分享一些自己使用的插件,但是每個(gè)人的配置都大不一樣。編輯器是網(wǎng)上程序員撕逼大戰(zhàn)的主戰(zhàn)場(chǎng)之一,但是現(xiàn)實(shí)中同事之間倒也沒(méi)有因?yàn)榫庉嬈鳡?zhēng)執(zhí)過(guò),大家還是很文明的,新人剛來(lái)的時(shí)候我們這些老vim用戶(hù)也會(huì)安利他們學(xué)一下vim,但人家最終選擇了vs code我們也沒(méi)說(shuō)啥不是。

          版本控制:目前基本都遷移到git了,以前是用svn。vim黨基本都是直接用git命令,有些vs code的用戶(hù)會(huì)在mac上用圖形化的前端。

          編譯系統(tǒng):現(xiàn)在是基于bazel搞的一套東西,開(kāi)發(fā)階段編譯代碼時(shí)使用一條指令將本地代碼diff發(fā)送到編譯機(jī)來(lái)編譯,這樣可以共享很多中間文件,速度蠻快的。以前是在本地開(kāi)發(fā)機(jī)編譯,有些比較大的模塊編一次幾十分鐘,而且編譯吃掉太多cpu還會(huì)導(dǎo)致vim卡頓……

          工具鏈:用的是GCC那一套,由于后臺(tái)服務(wù)都是微服務(wù),每個(gè)小模塊都可選使用gcc4或者gcc7構(gòu)建,最近我寫(xiě)了個(gè)小模塊用了c++17,就是用gcc7編譯上線的。希望哪天可以支持clang,我比較喜歡clang的編譯報(bào)錯(cuò)信息……

          微信后臺(tái)開(kāi)發(fā)的一天(理想情況Orz):

          1. 掀開(kāi)mac
          2. 打開(kāi)outlook把收件箱的紅點(diǎn)全點(diǎn)掉
          3. 切到item2,這時(shí)mosh已經(jīng)自動(dòng)重連到了開(kāi)發(fā)機(jī),tmux的一堆窗口已經(jīng)在等著你了
          4. vim...patchbuild...vim...patchbuild...git
          5. 期間夾雜吃飯、午休、散步、帶薪拉屎
          6. mac切到chrome,打開(kāi)微信變更系統(tǒng),提單、編譯、同步到測(cè)試機(jī)、灰度上線一氣呵成
          7. 蓋上mac,下班回家

          其他一些碎碎念:

          微信的后臺(tái)開(kāi)發(fā)環(huán)境一直有很多槽點(diǎn),但也一直在改進(jìn),每年都能看到一些進(jìn)步?,F(xiàn)在還沒(méi)解決的比較影響開(kāi)發(fā)效率的應(yīng)該就是代碼的語(yǔ)義分析工具了。目前大家寫(xiě)代碼的環(huán)境都是沒(méi)有精確的跳轉(zhuǎn)和補(bǔ)齊能力的,考慮到大家的環(huán)境很不統(tǒng)一,估計(jì)也沒(méi)什么動(dòng)力統(tǒng)一去搞。由于微信的后臺(tái)代碼量非常非常大,如果暴力把所有代碼都加到一個(gè)工程里,ycm之類(lèi)的東西根本跑不動(dòng),按一下tab卡5分鐘還不一定能緩過(guò)來(lái)(gdb的時(shí)候也是不怎么敢按tab的)。后臺(tái)C++項(xiàng)目都是基于bazel的BUILD文件管理依賴(lài),總體上來(lái)說(shuō)比較粗放,基本上每個(gè)新人剛來(lái)的時(shí)候都會(huì)折騰一下這個(gè)東西,試圖搞定基于BUILD的補(bǔ)全方案,但最后性能和準(zhǔn)確性上很難滿(mǎn)足日常使用的需求。目前我的解決方案是用universal-ctags定期給常用目錄下的文件生成tags,寫(xiě)代碼的時(shí)候憑經(jīng)驗(yàn)去跳。

          在微信寫(xiě)業(yè)務(wù)非常傻瓜化,微信的微服務(wù)框架svrkit準(zhǔn)備了一堆配套工具來(lái)生成代碼,新起一個(gè)服務(wù)就是寫(xiě)一個(gè)protobuf文件,里面定義好接口,然后用這個(gè)文件生成整個(gè)服務(wù)的框架代碼,再把業(yè)務(wù)邏輯填進(jìn)去就好了。微信的C++基礎(chǔ)庫(kù)里面大到消息隊(duì)列,小到string的trim都有提供,寫(xiě)普通的業(yè)務(wù)代碼需要什么功能基本都可以找到,完全就是堆積木,對(duì)普通的業(yè)務(wù)部門(mén)來(lái)說(shuō),面試造火箭入職擰螺絲一點(diǎn)都不夸張。

          微信的開(kāi)發(fā)最討厭的事情有兩個(gè):一個(gè)是別人寫(xiě)的代碼沒(méi)有注釋?zhuān)硪粋€(gè)是自己寫(xiě)代碼還要寫(xiě)注釋。這造成了很多工具、功能、邏輯的細(xì)節(jié)都是口口相傳,或者沉沒(méi)在浩如煙海的km文章、郵件里。沒(méi)事去看看別人的代碼總會(huì)有驚喜……有時(shí)是驚嚇。當(dāng)然這一點(diǎn)最近也在慢慢改變,基礎(chǔ)能力相關(guān)的組件開(kāi)始開(kāi)辟一些wiki、git issue之類(lèi)的進(jìn)行系統(tǒng)的介紹了。


          作者:pansz
          https://www.zhihu.com/question/265829202/answer/1081134174
          如果說(shuō)騰訊的話,老項(xiàng)目svn,新項(xiàng)目很多都是git了,通訊環(huán)境的話用微信企業(yè)版比較多,而項(xiàng)目相關(guān)的工作內(nèi)容有很多會(huì)基于網(wǎng)頁(yè)。開(kāi)發(fā)環(huán)境最需要統(tǒng)一的就是版本管理,其它倒是比較自由。
          由于C++在騰訊最主要的用途是服務(wù)器后端,因此實(shí)際上你可以使用任意的編輯器,大廠員工很務(wù)實(shí),是很少就這個(gè)問(wèn)題撕逼的。
          遠(yuǎn)古時(shí)代(大約十五年前)很多人用SourceInsight3.5,因?yàn)樗型昝榔平獍?。但是它的致命?wèn)題有兩個(gè):第一是只支持C語(yǔ)言,C++支持比較糟糕,第二是只支持GBK不支持UTF-8,這個(gè)問(wèn)題在現(xiàn)在來(lái)說(shuō)很致命,都2020年了你幾乎不會(huì)還允許程序員用GBK寫(xiě)代碼,雖然2005年用GBK寫(xiě)代碼還挺常見(jiàn)。
          SourceInsight4.0改進(jìn)了這兩個(gè)支持,能夠有限程度支持UTF-8,并且C++支持比前作排版強(qiáng)了半分錢(qián),但售價(jià)是天價(jià)(四位數(shù)以上)。鑒于大廠一般不允許本機(jī)裝盜版,SI4.0的價(jià)格又幾乎不可能購(gòu)買(mǎi),所以現(xiàn)實(shí)中除了可以申請(qǐng)購(gòu)買(mǎi)SI4的公司,其它公司已經(jīng)極少有人用它。
          自己折騰黨有用Vim跟Emacs的很多,當(dāng)然也有直接用其它IDE的,比如VS,比如Eclipse(嗯,這貨確實(shí)也可以寫(xiě)C++),比如JB,比如。。。各種選擇都可以,服務(wù)器后端C++程序員們真的不會(huì)對(duì)IDE問(wèn)題過(guò)于糾結(jié),自己習(xí)慣用哪個(gè)就是哪個(gè)。
          就現(xiàn)在而言,Eclipse原作者的新作品:Visual Studio Code 逐漸成為程序員新寵,它有技術(shù)跟歷史的必然。雖然它目前還有不少問(wèn)題,但已經(jīng)越來(lái)越多的人開(kāi)始使用它。
          糾結(jié)IDE的項(xiàng)目大都缺乏自己的構(gòu)建系統(tǒng),而對(duì)于互聯(lián)網(wǎng)項(xiàng)目來(lái)說(shuō),CI/CD 機(jī)制已經(jīng)很流行,這意味著C++項(xiàng)目是必須自動(dòng)構(gòu)建的,能 CI/CD 也就意味著必須有可以被命令行批處理的構(gòu)建,進(jìn)而就脫離了任何指定的IDE。
          --
          所以你要說(shuō)開(kāi)發(fā)環(huán)境是什么?
          那就是:統(tǒng)一的SCM管理,基于Web的問(wèn)題跟蹤及缺陷管理,客戶(hù)端的項(xiàng)目組成員間通訊,后臺(tái)服務(wù)CI/CD?!劣贗DE,可以說(shuō)并不是開(kāi)發(fā)環(huán)境的一部分,只是程序員的個(gè)人愛(ài)好選擇而已。

          作者:Xi Yang
          https://www.zhihu.com/question/265829202/answer/1102971774
          我來(lái)厚著臉皮答一個(gè):我們公司并不是大廠,一共只有11個(gè)人,主要產(chǎn)品是在Windows、Mac上面的桌面程序和動(dòng)態(tài)庫(kù)形式的插件(VST、Audio Unit、AAX)。經(jīng)過(guò)幾年的迭(zhe)代(teng)之后,目前是這樣的局面:
          • 版本控制:收費(fèi)的PlasticSCM(二進(jìn)制資源太多,Git LFS糊不上墻)。所有項(xiàng)目、源代碼庫(kù)、二進(jìn)制庫(kù)放在一個(gè)大repo里,保證編譯環(huán)境的一致性。

          • 編譯控制:使用CMake。每個(gè)項(xiàng)目自己都可以單獨(dú)作為頂層的項(xiàng)目進(jìn)行生成(而不是整個(gè)repo做頂層,那樣CMake generate步驟太長(zhǎng)了),依賴(lài)項(xiàng)目用add_subdirectory(../XXX)引入。二進(jìn)制庫(kù)用CMake的add_library(IMPORT)那套設(shè)施包裝一下。

          • 代碼編寫(xiě):在Windows上用CMake生成VS項(xiàng)目,使用VS編輯。只有我一個(gè)人在Linux上用Qt Creator。其它語(yǔ)言的腳本工具(主要是python)現(xiàn)在都用VS Code編輯(其實(shí)用啥都行,VS Code主要是好用)。

          • C++基礎(chǔ)庫(kù):主要使用JUCE自帶的(字符串功能還挺全),有時(shí)也用用C++標(biāo)準(zhǔn)庫(kù)。

          • C++版本:使用C++14。更高版本的C++受到我們當(dāng)前定的Mac SDK版本10.9制約(很多用戶(hù)用非常老的Mac,沒(méi)辦法)。

          • 編譯:各人本地編譯。

          目前來(lái)看,這個(gè)結(jié)構(gòu)還算堪用。遺留的問(wèn)題主要是:

          • CMake對(duì)新手難學(xué)難寫(xiě);
          • CMake有分離的generate步驟,有時(shí)很麻煩;
          • JUCE的GUI框架非常古舊,大量使用虛函數(shù)繼承,而不是現(xiàn)在更常見(jiàn)的listener函數(shù)。

          前些日子想過(guò)把CMake換成Bazel。然而B(niǎo)azel雖然看起來(lái)有很多優(yōu)點(diǎn),但一個(gè)是bug多,一個(gè)是從頭折騰一遍代價(jià)太大,目前沒(méi)有足夠的動(dòng)力。


          作者:TERRY
          https://www.zhihu.com/question/265829202/answer/1088614071
          谷歌員工比較幸福。c++環(huán)境可能是業(yè)界最棒。

          寫(xiě)代碼用cider,就是chrome瀏覽器。入職會(huì)配備一個(gè)linux臺(tái)式機(jī),一個(gè)MacBook。大家臺(tái)式機(jī)用的最多,筆記本用來(lái)開(kāi)會(huì)。chrome瀏覽器的好處是使用各種云應(yīng)用,不需要其它獨(dú)立軟件。office的替代品,Google docs之類(lèi)的玩意兒,都很方便。

          Cider可能是用過(guò)的最好的工具,遠(yuǎn)遠(yuǎn)好于Facebook的nuclide,動(dòng)不動(dòng)會(huì)死掉。cider后臺(tái),分布式做的非常好,一年遇不到幾次無(wú)法訪問(wèn)之類(lèi)的問(wèn)題。

          編譯器blaze應(yīng)該還不錯(cuò),F(xiàn)acebook的buck就是一伙Google員工跳槽過(guò)去做的blaze山寨版,兩個(gè)東西比較一下還是Google的速度更快點(diǎn)兒。原因不詳。

          代碼review ,Google的critique做的很丑,cl/diff stack支持的很差,這方面Facebook的工具很好。


          作者:知乎用戶(hù)
          https://www.zhihu.com/question/265829202/answer/1081446846
          回答時(shí)間2020.03,坐標(biāo)百度,應(yīng)屆入職沒(méi)多久的業(yè)務(wù)研發(fā)菜雞一枚。

          代碼編輯工具:SSH+Vim / VSCode Remote(Code-Server)

          當(dāng)前,ssh到開(kāi)發(fā)機(jī),vim編輯還是相對(duì)主流的辦法,如同回答里另一個(gè)前輩所說(shuō),ssh下可以使用tmux或screen等輔助工具,實(shí)現(xiàn)多term、分屏、下班保存工作現(xiàn)場(chǎng)等。

          包括百度在內(nèi)的很多大廠,ssh連接開(kāi)發(fā)機(jī),都需要經(jīng)過(guò)一個(gè)沒(méi)有任何操作權(quán)限的跳板機(jī),這種機(jī)制攔住了scp、VSCode Remote等直接使用ssh連接的工具,盡管理解出于安全的考量,實(shí)際操作中是會(huì)帶來(lái)少許不便。

          所以說(shuō)啊,什么IDE圣戰(zhàn),根本不是誰(shuí)的IDE更好用的問(wèn)題,是面對(duì)ssh的黑框框,除了vim、emacs這種東西,根本沒(méi)得選呀。

          不過(guò)呢,近一年工程效率的同學(xué),在廠內(nèi)不斷建設(shè)VSCode遠(yuǎn)程版,并和內(nèi)部系統(tǒng)打通。實(shí)話實(shí)說(shuō),不管什么語(yǔ)言,VSCode真的很香。

          代碼托管與開(kāi)發(fā)上線流程:Git+自建Git平臺(tái)+CR+CI

          當(dāng)前開(kāi)發(fā)過(guò)程已經(jīng)感受不到svn的存在,全線進(jìn)入git時(shí)代。代碼托管在自建的git平臺(tái),有點(diǎn)類(lèi)似于gitlab吧,只是更迎合廠內(nèi)需要。

          在開(kāi)發(fā)過(guò)程中,我見(jiàn)過(guò)的重要的在線服務(wù)模塊,大多是主干開(kāi)發(fā)、分支上線(或者說(shuō)tag上線),每個(gè)特性、修復(fù)等(稱(chēng)作story)對(duì)應(yīng)一個(gè)commit,一次story不斷修改,會(huì)使用git commit --amend。重要模塊均有強(qiáng)制的Code Review。提交后觸發(fā)CI流程,自動(dòng)運(yùn)行單測(cè)、diff、性能測(cè)試等。

          編譯工具:GCC 8.2 + C++11 + 內(nèi)部云編譯系統(tǒng)

          翻百度之前的問(wèn)題,也許看到過(guò)“百度GCC被三體人限定在3.4.5”的典故,很明顯今天我廠的同學(xué)們已經(jīng)吸取了以往的經(jīng)驗(yàn)。在2019 Mid之前,主流版本是GCC 4.8,-std=c++11。2019秋季開(kāi)始推動(dòng)升級(jí),至今日絕大部分模塊都在GCC 8.2下編譯,但還沒(méi)有見(jiàn)到上C++14/17的模塊,-std配置啥,由各業(yè)務(wù)線、模塊owner決定,也許是大家都知道沒(méi)有C++11很難受,C++11到C++14/17香度變化沒(méi)那么大,大家沒(méi)什么動(dòng)力吧...

          廠內(nèi)有一套自己的云編譯系統(tǒng),一行命令,把代碼改動(dòng)push到編譯平臺(tái),調(diào)動(dòng)編譯集群,并把編譯產(chǎn)物在pull回來(lái),這套東西不需要自己再解決編譯依賴(lài)等C++惡心人的地方,編譯速度快很多,作為業(yè)務(wù)研發(fā)很少需要和編譯工具直接打交道?;臼呛蚥azel定位比較類(lèi)似的東西吧。

          其他經(jīng)歷

          只在2018年有一段在騰訊實(shí)習(xí)的經(jīng)歷。眾所周知(?),鵝廠不同bg不同部門(mén)技術(shù)建設(shè)千差萬(wàn)別互不相通,僅供參考吧。

          代碼也是SSH+Vim+跳板機(jī)組合,當(dāng)年也沒(méi)有遠(yuǎn)程的VSCode這類(lèi)工具可用。

          雖說(shuō)作為實(shí)習(xí)員工不接觸核心模塊,但翻看過(guò)組內(nèi)代碼,沒(méi)有風(fēng)格規(guī)范(tab空格混搭...),沒(méi)有CR,沒(méi)有CI,有些組件要口口相傳才知道怎么跑起來(lái)。實(shí)話說(shuō),技術(shù)建設(shè)沒(méi)達(dá)到我想想的水平吧,也有些好的地方,比如C++11到位了(但2018年的時(shí)候有C++11用,好像在鵝廠還是走在靠前了...),有blade編譯(基本就是bazel),有一套挺好用到傻瓜的上線系統(tǒng)(一直點(diǎn)下一步就上完了,跟安裝游戲一樣...)。另外我在時(shí)還是SVN,貌似最近才遷的Git。

          但反過(guò)來(lái)想,技術(shù)建設(shè)上可做的東西那么多,服務(wù)還是那么高的性能和可用性,也許是另一種程度上的叼炸天呢...?

          碎碎念

          C++領(lǐng)域討論編輯器、IDE投入太多精力挺虧的,體量大些的服務(wù)幾乎都不具備拉到本地編寫(xiě)、測(cè)試的條件,像是有VSCode用都算是運(yùn)氣好的了。

          我個(gè)人來(lái)講,傾向一種“掌握最基礎(chǔ)的工具走遍天下”的思想,比如vim和screen,不論到何種條件下,只要不是CoreOS那種極端的東西,總會(huì)有vim和screen可以用,相比emacs和tmux,即使沒(méi)有任何自己習(xí)慣的配置文件,也能達(dá)到過(guò)得去的效率,從而可以盡快投入到自己要做的事情上。


          作者:知乎用戶(hù)
          https://www.zhihu.com/question/265829202/answer/1081368688
          華為,2020年
          1.C/C++的IDE
          當(dāng)前華為的C/C++ IDE主要是定制的VS code了。以前大部分都使用Source Insight,由于是美的商業(yè)軟件,現(xiàn)在不怎么用了,編譯基本都需要到Linux上編的,比較常見(jiàn)的一個(gè)做法是Samba映射Linux編譯機(jī)上的代碼庫(kù)到Windows上開(kāi)發(fā)。

          也有部分人重度使用VIM,直接ssh到linux機(jī)器上寫(xiě)代碼,配置幾個(gè)插件效率也是很高的,而且據(jù)觀察,這些人中高手較多。VIM寫(xiě)代碼的人有個(gè)特點(diǎn),腦子里記錄了很多關(guān)鍵函數(shù)、符號(hào)、文件等,跳轉(zhuǎn)非???,配合cscope和grep和正則搜索老的代碼庫(kù),學(xué)習(xí)成本相對(duì)高點(diǎn)。

          相比VIM,Emacs用的倒是很少。

          公司也買(mǎi)了很多JetBrains的全套License,如果編譯是標(biāo)準(zhǔn)CMake工程,而且也不是那么巨量,CLion配置好+MinGW,寫(xiě)代碼效率會(huì)大增。不過(guò)有些強(qiáng)依賴(lài)Linux編譯,而華為也沒(méi)有給員工配置桌面Ubuntu等系統(tǒng),這種還是最終同步代碼到Linux編譯機(jī)上去編譯,或者直接push到遠(yuǎn)端,用CI編譯。

          2. 版本管理

          大多數(shù)團(tuán)隊(duì)也從SVN切到了Git,華為內(nèi)網(wǎng)有類(lèi)似Github一樣網(wǎng)站,各個(gè)部門(mén)基于這個(gè)網(wǎng)站搭建各自的CI工程。相比以前的SVN時(shí)代,效率提高了不少。

          3. 編譯腳本

          新項(xiàng)目基本都要求用CMake了,有要求做到構(gòu)建一致性。老的項(xiàng)目也逐漸切換到CMake上。相比老項(xiàng)目巨量的Makefile,CMake還是很贊的,清晰多了。

          作者:Kurokawa
          https://www.zhihu.com/question/265829202/answer/1086040231
          鵝廠不同部門(mén)的技術(shù)架構(gòu)千差萬(wàn)別,據(jù)說(shuō)換個(gè)部門(mén)就像換了公司一樣。其中CSIG是原先幾個(gè)bg合并過(guò)來(lái)的,所以各自的環(huán)境差別也很巨大。

          一開(kāi)始靦腆不知道問(wèn)老人,就自己搜搜內(nèi)部的KM,搜到了別的部門(mén)的技術(shù)方案。等搞明白了才發(fā)現(xiàn)組里不用這個(gè),吃了一點(diǎn)點(diǎn)虧。不過(guò)我的性子是,如果新工具好的話,應(yīng)該堅(jiān)持用新工具,索性我做的項(xiàng)目全新沒(méi)有歷史負(fù)擔(dān),最后整個(gè)業(yè)務(wù)的環(huán)境一直在和原來(lái)脫軌了。

          舊服務(wù)代碼一般不敢改,C++版本被三體星人鎖死了,印象中還是98。后來(lái)新服務(wù)我升到C++11,再后來(lái)嫌棄C++多線程太麻煩(老框架只有io復(fù)用,然后把服務(wù)做成異步),我就強(qiáng)推golang寫(xiě)代碼颼颼快。老同事用的sublime做編輯器,把linux代碼用samba映射出來(lái),補(bǔ)全有延遲,或者干脆用mac。后來(lái)我改用VS Code Remote了,直接接到linux容器內(nèi)做開(kāi)發(fā),非常輕量且柔順。

          來(lái)了之后沒(méi)多久,鵝廠開(kāi)始要做開(kāi)源協(xié)同(第一步就是svn遷移到git)。之前在華為,恰好也在搞開(kāi)源協(xié)同,看來(lái)是大勢(shì)所趨。因?yàn)樵趯W(xué)校就用git,所以對(duì)我沒(méi)啥影響。

          后臺(tái)服務(wù)好多年前就搞SaaS了,容器調(diào)度+rpc調(diào)用,模塊化處理之后,模塊之間也沒(méi)有歷史負(fù)擔(dān),語(yǔ)言環(huán)境都隨意。有個(gè)鵝廠自研開(kāi)源的tars框架,配合內(nèi)部工蜂git和CI/CD的頁(yè)面,上線和調(diào)度都很傻瓜,鼠標(biāo)操作。對(duì)外API現(xiàn)在也開(kāi)始采用https+json了。

          總而言之,個(gè)人感覺(jué)現(xiàn)在開(kāi)發(fā)輕便得很,工具環(huán)境都算新,有VS Code remote之后,操作系統(tǒng)也沒(méi)有要求了。網(wǎng)絡(luò)接入方案和遠(yuǎn)程辦公機(jī)制最近也都進(jìn)步了,現(xiàn)在已經(jīng)基本上不限制  地理位置/開(kāi)發(fā)辦公機(jī)器/環(huán)境/開(kāi)發(fā)語(yǔ)言  等細(xì)節(jié)了。之前在華為使用云桌面(無(wú)實(shí)體機(jī)器),辦公設(shè)備和辦公用品不能帶出,鎖死的java7和win7操作系統(tǒng),和有限可選擇的開(kāi)發(fā)環(huán)境。相比在鵝廠確實(shí)自由多了。


          作者:曾歆勛
          https://www.zhihu.com/question/265829202/answer/1081155436
          我們組十來(lái)個(gè)人,用的環(huán)境就五花八門(mén)了

          大神級(jí)別:我導(dǎo)師,從來(lái)不用IDE,簡(jiǎn)直是行走的代碼庫(kù),一個(gè)emacs走遍天下

          復(fù)古流:eclipse黨,堪稱(chēng)考古流派,原本有三個(gè)人用,其中一個(gè)被我策反了

          輕量級(jí):vscode,新版本的vscode可以直接連接遠(yuǎn)程開(kāi)發(fā)機(jī),代碼、索引都在遠(yuǎn)程,編輯在本地,因此本地使用資源極少,非常適合筆記本。在我們組一個(gè)同事強(qiáng)力推薦下,很多人轉(zhuǎn)用vscode。

          重量級(jí):clion,相比前三種算是高達(dá)了,功能強(qiáng)大,傻瓜易用,配置好以后極大提升開(kāi)發(fā)效率。缺點(diǎn)是占用資源極大,我已經(jīng)加到32G內(nèi)存了,仍然日常90%+,在我的安利下,也有幾個(gè)人轉(zhuǎn)用clion了。



          ☆ END ☆
          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺(jué)、目標(biāo)跟蹤、生物視覺(jué)、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目52講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目,即可下載包括圖像分割、口罩檢測(cè)、車(chē)道線檢測(cè)、車(chē)輛計(jì)數(shù)、添加眼線、車(chē)牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺(jué)實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺(jué)。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺(jué)公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱(chēng)+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


          瀏覽 61
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  2024AV中文在线播放 | 日本三级小视频 | 日本黄色片网站视频 | av天堂资源在线观看 | 亚洲内射学生妹 |