軟件工程 課件 3.3 群體化軟件開發(fā)方法_第1頁
軟件工程 課件 3.3 群體化軟件開發(fā)方法_第2頁
軟件工程 課件 3.3 群體化軟件開發(fā)方法_第3頁
軟件工程 課件 3.3 群體化軟件開發(fā)方法_第4頁
軟件工程 課件 3.3 群體化軟件開發(fā)方法_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

群體化軟件開發(fā)方法軟件工程內(nèi)容開源軟件的開發(fā)要求特點(diǎn)和開發(fā)要求何為群體化軟件開發(fā)方法基本理念和思想如何實(shí)現(xiàn)群體化軟件開發(fā)關(guān)鍵軟件工程技術(shù)1.1閉源軟件何為閉源軟件軟件代碼不對用戶開放的一類軟件,購買軟件時(shí)只提供可運(yùn)行軟件或服務(wù),沒有提供源代碼以使用許可證(License)的方式授權(quán)用戶使用軟件閉源軟件的特點(diǎn)無法獲得源代碼(無渠道)無權(quán)使用源代碼(合法性)閉源軟件帶來的問題無法掌握軟件內(nèi)部實(shí)現(xiàn)情況(如是否存在惡意代碼),難可信;無法修改和完善軟件,影響了開發(fā)者的創(chuàng)新自由閉源軟件只提供可執(zhí)行代碼,不提供源代碼閉源軟件及企業(yè)示例典型軟件Windows、Office軟件、Oracle軟件等典型企業(yè)微軟、IBM、Oracle等1.2開源軟件(OpenSourceSoftware)何為開源軟件一種源代碼可以自由獲取和傳播的計(jì)算機(jī)軟件,其擁有者通過開源許可證賦予被許可人對軟件進(jìn)行使用、修改和傳播開源軟件的特點(diǎn)源程序代碼對外開放自由使用、修改和傳播任何人都可獲得開源軟件的代碼開源軟件對源代碼開放,并允許你修改和傳播示例:開源軟件操作系統(tǒng)Linux、Ubuntu、麒麟、鴻蒙、OpenEuler等數(shù)據(jù)庫系統(tǒng)MySQL、PostgreSQL、MongoDB、Redis等開發(fā)平臺(tái)Eclipse、Junit、SonarQube、Kubernetes等人工智能Tensorflow、Opencv、Caffe、Deeplearning4j等網(wǎng)絡(luò)安全Nmap、curityOnion、Suricata、Bro等……你需要的軟件都可以找到相應(yīng)的開源軟件示例:Gitee上的OpenHarmony開源軟件開源鴻蒙軟件1.3開源軟件的開發(fā)要求吸引大眾參與和貢獻(xiàn)任何人可參與開源開發(fā)在互聯(lián)網(wǎng)上進(jìn)行開發(fā)實(shí)現(xiàn)隨時(shí)隨地參與開發(fā)代碼可實(shí)現(xiàn)充分共享代碼可以被任何人獲取思考和討論你知道有哪些開源軟件?免費(fèi)使用軟件等同于開源軟件嗎?微信、12306等軟件是開源軟件嗎?開源軟件是如何開發(fā)出來的?內(nèi)容開源軟件的開發(fā)要求特點(diǎn)和軟件開發(fā)要求何為群體化軟件開發(fā)基本理念和思想如何實(shí)現(xiàn)群體化軟件開發(fā)關(guān)鍵軟件工程技術(shù)2.1軟件開發(fā)是創(chuàng)作和生產(chǎn)的過程軟件創(chuàng)作發(fā)揮軟件工程師的智慧,結(jié)合創(chuàng)作者的愛好和興趣,開展軟件創(chuàng)作如構(gòu)思需求、開展設(shè)計(jì)、精雕代碼等軟件生產(chǎn)任務(wù)分工,集中管理計(jì)劃驅(qū)動(dòng),有序開發(fā)評審測試,保證質(zhì)量交流溝通,促進(jìn)合作創(chuàng)作生產(chǎn)基于團(tuán)隊(duì)的軟件開發(fā)方法及其組織模式軟件制品特定組織(如微軟、IBM、華為)的人員所組成軟件項(xiàng)目團(tuán)隊(duì)組織內(nèi)軟件開發(fā)者參與開發(fā)邊界封閉組織外軟件開發(fā)者無法加入團(tuán)隊(duì)不能獲得軟件制品對外不可共享的軟件倉庫基于團(tuán)隊(duì)軟件開發(fā)方法的特點(diǎn)開發(fā)團(tuán)隊(duì)邊界封閉域外人員無法參與人員以及資源有限項(xiàng)目的成果不共享集中化的管理模式關(guān)注生產(chǎn)而非創(chuàng)作軟件制品無法充分利用團(tuán)隊(duì)之外的力量,阻礙大眾參與軟件創(chuàng)作和生產(chǎn)示例:Windows軟件開發(fā)團(tuán)隊(duì)組成Windows7軟件項(xiàng)目的團(tuán)隊(duì)組織核心開發(fā)團(tuán)隊(duì)大約有1000人25個(gè)功能小組,每個(gè)小組大約有40個(gè)人每個(gè)小組包括三類人員:程序經(jīng)理,開發(fā)工程師,測試工程師全部是Microsoft員工Windows7源代碼是微軟商業(yè)機(jī)密,不對外共享和開放微軟之外的其他組織無法獲得產(chǎn)品的任何信息和資源示例:IBMOS/360軟件開發(fā)團(tuán)隊(duì)1960s初IBMOS/360大型軟件項(xiàng)目通用系統(tǒng),支持多道程序,最多可同時(shí)運(yùn)行15道程序軟件工程師超2000人,工作量超5000人年IBM之外的其他組織無法獲得產(chǎn)品的任何信息和資源2.2開源軟件項(xiàng)目的開發(fā)和組織模式開放項(xiàng)目邊界大眾參與開發(fā)程序代碼共享軟件倉庫互聯(lián)網(wǎng)用戶互聯(lián)網(wǎng)用戶由少數(shù)核心開發(fā)人員和大量互聯(lián)網(wǎng)大眾(外圍)所組成的群體化開發(fā)開放的項(xiàng)目邊界可共享的代碼倉庫互聯(lián)網(wǎng)大眾能做什么樣的貢獻(xiàn)?構(gòu)思軟件需求,增強(qiáng)軟件功能-創(chuàng)作發(fā)現(xiàn)軟件問題,指出軟件缺陷-創(chuàng)作編寫程序代碼,提交開發(fā)成果-創(chuàng)作+生產(chǎn)參與代碼評審,評價(jià)貢獻(xiàn)質(zhì)量-生產(chǎn)……創(chuàng)作生產(chǎn)將軟件創(chuàng)作和生產(chǎn)融合在一起,充分發(fā)揮大眾的智慧和力量高手在民間,高手在互聯(lián)網(wǎng)上示例:OpenHarmony中的群體化貢獻(xiàn)提出問題和需求貢獻(xiàn)和提交代碼開源鴻蒙充分利用群體的智慧來推動(dòng)軟件的創(chuàng)作和生產(chǎn)2.3何為群體化開發(fā)方法依托互聯(lián)網(wǎng)平臺(tái)來吸引、匯聚、組織和管理互聯(lián)網(wǎng)上的大規(guī)模軟件開發(fā)人員,通過競爭、合作、協(xié)商等多種自主協(xié)同方式,讓他們參與軟件開發(fā)、分享軟件開發(fā)知識(shí)和成果、貢獻(xiàn)智慧和力量的一種新穎軟件開發(fā)方法軟件倉庫互聯(lián)網(wǎng)用戶互聯(lián)網(wǎng)用戶思考和討論沒有互聯(lián)網(wǎng)平臺(tái)能開展群體化軟件開發(fā)嗎?為什么?軟件倉庫互聯(lián)網(wǎng)用戶互聯(lián)網(wǎng)用戶基于互聯(lián)網(wǎng)的群體化開發(fā)平臺(tái)Github(國際)和Gitee(國內(nèi))群體化開發(fā)平臺(tái)提供的開發(fā)支持提出需求創(chuàng)意、發(fā)現(xiàn)軟件缺陷、提交程序代碼、標(biāo)注開發(fā)任務(wù)、討論軟件需求、評審代碼質(zhì)量等等2.4群體化軟件開發(fā)方法的特點(diǎn)軟件開發(fā)邊界開放互聯(lián)網(wǎng)大眾自由參與利用海量的大眾資源共享源程序代碼兼顧軟件創(chuàng)作和生產(chǎn)依托互聯(lián)網(wǎng)平臺(tái)群體化軟件開發(fā)是一種基于社區(qū)的軟件開發(fā)模式開發(fā)社區(qū)而非團(tuán)隊(duì):社區(qū)和團(tuán)隊(duì)的區(qū)別大教堂與集市大教堂(基于團(tuán)隊(duì)的閉源軟件開發(fā))傳統(tǒng)大型軟件公司的開發(fā)模式就像艱難緩慢的大教堂建造工程,嚴(yán)密的組織和集中式結(jié)構(gòu)特點(diǎn)是封閉式建設(shè)、成本高、周期長、品質(zhì)優(yōu)集市(基于群體的開源軟件開發(fā))

特點(diǎn)是開放式建設(shè)、成本低、周期短、品質(zhì)平庸并行、對等的扁平化開發(fā),參與者大多來自于互聯(lián)網(wǎng)上的志愿者,結(jié)構(gòu)松散、來去自由集市大教堂閉源軟件開發(fā)和開源軟件開發(fā)閉源軟件采用大教堂的開發(fā)方式開源軟件

采用集市的開發(fā)方式雷蒙德(Raymond,E.S.)著,衛(wèi)劍釩譯.大教堂與集市,機(jī)械工業(yè)出版社[M],2014軟件工程經(jīng)典著作思考和討論基于團(tuán)隊(duì)的軟件開發(fā)方法vs基于社區(qū)的群體化軟件開發(fā)方法基于團(tuán)隊(duì)軟件開發(fā)方法基于社區(qū)群體化開發(fā)方法項(xiàng)目組織方式(團(tuán)隊(duì)/社區(qū))開發(fā)成員組成(封閉/開放)程序代碼開放依托平臺(tái)協(xié)同關(guān)注創(chuàng)作和生產(chǎn)可用資源情況(有限/海量)內(nèi)容開源軟件的開發(fā)要求特點(diǎn)和開發(fā)要求何為群體化軟件開發(fā)基本理念和思想如何實(shí)現(xiàn)群體化軟件開發(fā)關(guān)鍵軟件工程技術(shù)群體化軟件開發(fā)方法的支撐關(guān)鍵技術(shù)基于社區(qū)的群體化組織基于Issue的任務(wù)管理基于Git的分布式版本管理基于Pull/Request的分布式協(xié)同開發(fā)基于群智的知識(shí)分享3.1基于社區(qū)的群體化軟件項(xiàng)目組織核心開發(fā)人員外圍開發(fā)人員大眾化協(xié)同持續(xù)性評估軟件倉庫需求創(chuàng)意軟件缺陷程序代碼

貢獻(xiàn)和獲取貢獻(xiàn)和獲取群體化軟件開發(fā)采用社區(qū)和集市的組織模式核心開發(fā)人員開源軟件項(xiàng)目的主要貢獻(xiàn)者,主要職責(zé)開源軟件的核心貢獻(xiàn)人員(如提供了最初的開源代碼)分析和評估外圍開放大眾所發(fā)現(xiàn)的軟件缺陷和提出的軟件需求,將其轉(zhuǎn)化為生產(chǎn)性的軟件開發(fā)計(jì)劃評審和分析開放大眾所提交的程序代碼,并將通過評審的代碼融入到軟件倉庫之中人數(shù)不多幾個(gè)到幾十個(gè)不等開源鴻蒙有100多人外圍開發(fā)人員開源軟件項(xiàng)目的外圍貢獻(xiàn)者,主要職責(zé)借助于互聯(lián)網(wǎng)平臺(tái)獲得軟件項(xiàng)目信息,結(jié)合個(gè)人的興趣愛好、經(jīng)驗(yàn)和技能,自發(fā)地為軟件項(xiàng)目貢獻(xiàn)自己的力量提出需求建議、匯報(bào)代碼缺陷、提交程序代碼、評審代碼質(zhì)量等數(shù)量會(huì)非常大成百上千,甚至有幾萬人開源鴻蒙有3萬多人依托開源社區(qū)來組織不同人員開源軟件社區(qū)將核心開發(fā)人員與外圍開發(fā)人員有機(jī)地結(jié)合在一起,依托軟件倉庫進(jìn)行分布式協(xié)同開發(fā)軟件倉庫自由進(jìn)出社區(qū)遵循社區(qū)規(guī)定自愿開展工作開放分享代碼開源軟件社區(qū)示例:依托社區(qū)自由獲取開源代碼克隆、下載開源代碼自由地克隆和下載代碼3.2傳統(tǒng)軟件開發(fā)的任務(wù)管理軟件項(xiàng)目團(tuán)隊(duì)管理者團(tuán)隊(duì)成員1團(tuán)隊(duì)成員2團(tuán)隊(duì)成員3團(tuán)隊(duì)成員n開發(fā)任務(wù)的指派基于團(tuán)隊(duì)組織模式和開發(fā)方法不適用于開源軟件開發(fā)集中管理任務(wù)分解強(qiáng)制執(zhí)行基于Issue的任務(wù)管理開源軟件的開發(fā)任務(wù)不同于傳統(tǒng)的開發(fā)任務(wù)分解方式開發(fā)者群體自主提出,體現(xiàn)了群體創(chuàng)作思想每個(gè)任務(wù)對應(yīng)于一個(gè)Issue開發(fā)任務(wù)的二類形式:修復(fù)軟件缺陷、功能實(shí)現(xiàn)需求基于Issue的軟件開發(fā)任務(wù)管理創(chuàng)建Issue,提出軟件開發(fā)任務(wù)討論Issue,分析開發(fā)任務(wù)的意義和價(jià)值指派Issue,安排人員來完成Issue掌控Issue,掌握Issue解決的進(jìn)展?fàn)顩r自主提出任務(wù)自發(fā)完成任務(wù)提出Issue清晰地描述任務(wù)標(biāo)題內(nèi)容特征提供必要的標(biāo)簽以補(bǔ)充說明任務(wù)的性質(zhì)和特征缺陷or需求程序語言任務(wù)標(biāo)題任務(wù)描述任務(wù)特征示例:提出Issue任何人均可提出軟件開發(fā)任務(wù):代碼缺陷和軟件需求“新建Issue”管理Issue辨別Issue的類別代碼缺陷,新增功能需求給Issue打標(biāo)簽確認(rèn)Issue的有效性缺陷是否客觀存在軟件需求是否有意義為Issue貼上適當(dāng)標(biāo)簽直觀地展示其特征信息Bug表示缺陷修復(fù)任務(wù),duplicate表示這是一個(gè)重復(fù)任務(wù)依靠群體來管理Issue任務(wù)標(biāo)簽示例:管理和討論Issue設(shè)置Issue優(yōu)先級(jí)補(bǔ)充log截圖指派Issue何為指派Issue將Issue分配給相應(yīng)人員加以解決要考慮的因素群體基于興趣和特長來認(rèn)領(lǐng)相關(guān)任務(wù)結(jié)合開發(fā)者的開發(fā)技術(shù)和經(jīng)驗(yàn)考慮開發(fā)人員的能力和精力Issue指派并非強(qiáng)制性具有通知和推薦的性質(zhì)接受到任務(wù)指派的人員有權(quán)決定是否接受該指派,可自愿參加或拒絕指派示例:指派Issue的負(fù)責(zé)人跟蹤Issue跟蹤和記錄Issue的解決過程,掌握Issue解決狀況事件的發(fā)起者發(fā)生的時(shí)間點(diǎn)事件的內(nèi)容等重要的事件提出貼標(biāo)簽指派負(fù)責(zé)人等思考和討論在開源軟件社區(qū)中,基于Issue的任務(wù)管理有何優(yōu)點(diǎn)?它與集中式管理相比較有何差異性?Issue機(jī)制能否支持開源軟件的群體發(fā)開發(fā)?為什么?傳統(tǒng)軟件開發(fā)的集中式版本管理軟件版本庫多人同時(shí)需要該代碼時(shí)會(huì)存在什么樣的問題?訪問和存取訪問和存取開發(fā)者

3.3分布式版本管理思想本地工作區(qū)暫存區(qū)本地版本庫遠(yuǎn)程(中心)版本庫開發(fā)者的本地計(jì)算機(jī)遠(yuǎn)端計(jì)算機(jī)采用分級(jí)處理方式來區(qū)分軟件項(xiàng)目文件的不同狀態(tài)工作區(qū)、暫存區(qū)、本地版本庫建在開發(fā)人員自己的計(jì)算機(jī)之中,遠(yuǎn)程版本庫建在遠(yuǎn)程的中心服務(wù)器上本地工作完成后,可把本地版本庫數(shù)據(jù)(如代碼)同步推送到遠(yuǎn)程版本庫中,也可從遠(yuǎn)程版本庫拉取(Pull)最新代碼到本地版本庫創(chuàng)建開發(fā)分支分支相當(dāng)于一條開發(fā)線路,是一串代碼提交歷史軟件開發(fā)者可利用分支實(shí)現(xiàn)不同開發(fā)任務(wù)的并行執(zhí)行與變更合并Git版本庫中有二個(gè)常見的分支master分支:軟件項(xiàng)目主分支,負(fù)責(zé)存儲(chǔ)對外發(fā)布的項(xiàng)目版本,軟件開發(fā)者應(yīng)該確保master分支的穩(wěn)定性,一般不輕易直接修改master分支中的代碼,通常只有一個(gè)develop分支,軟件項(xiàng)目的開發(fā)分支,通常是各分支代碼的匯總分支,始終保持最新完成功能以及修復(fù)缺陷后的代碼開發(fā)者分支,軟件開發(fā)者自己的獨(dú)立分支分支軟件開發(fā)分支示意圖一個(gè)軟件有多個(gè)軟件開發(fā)分支代碼貢獻(xiàn)Master分支Dev分支Foo分支版本庫開發(fā)分支的合并(Merge)Dev分支Foo分支Dev分支Foo分支將多個(gè)開發(fā)者分支中的代碼修改合并到Dev分支里合并(Merge)Gve分支Gve分支基于Git的協(xié)同開發(fā)Git分支操作—多人協(xié)作(橫向視角)分支:使用分支意味著你可以把你的工作從開發(fā)主線上分離開來,以免影響開發(fā)主線masterbranch2branch1createmergecommitcreatemergecommit倉庫及分支操作示意圖本地倉庫遠(yuǎn)程倉庫pushpullcommitcommitswitch合并請求分支管理工作創(chuàng)建“master”分支“master”分支倉庫處于穩(wěn)定、可運(yùn)行和可部署的狀態(tài)只有管理人員才有權(quán)限把“develop”分支代碼合并到“master”分支中創(chuàng)建“develop”分支屬于開發(fā)人員的分支倉庫,只有經(jīng)過審查和測試的任務(wù)分支代碼才可合并到“develop”分支倉庫中只有管理人員才有權(quán)限把任務(wù)分支合并到“develop”分支上創(chuàng)建開發(fā)人員自己的任務(wù)分支每個(gè)開發(fā)人員可根據(jù)自身的開發(fā)任務(wù)創(chuàng)建自己的任務(wù)分支代碼合并(Merge)開發(fā)人員可通過項(xiàng)目管理人員,將自己編寫代碼同步合并到“develop”分支中思考和討論軟件開發(fā)人員編寫好代碼后,如何將自己編寫的代碼合并到原始倉庫中去?3.4基于Pull/Request(P/R)分布式協(xié)同開發(fā)每個(gè)開發(fā)人員在本地完成編程工作后,不是直接向中心倉庫推送代碼,而是通過發(fā)送一個(gè)P/R合并請求,將原始代碼庫的克隆庫推薦合并到中心倉庫之中一個(gè)“P/R”顧名思義是指一次合并請求,合并的內(nèi)容對應(yīng)于一個(gè)代碼修改補(bǔ)丁,它包含了軟件開發(fā)人員對軟件的一次代碼修改接收到合并請求后,軟件項(xiàng)目管理團(tuán)隊(duì)和開發(fā)人員群體需要對P/R進(jìn)行審查評估該P(yáng)/R所貢獻(xiàn)代碼的質(zhì)量,將符合質(zhì)量要求的代碼集成到中心代碼庫合適的分支中基于P/R的分布式協(xié)同開發(fā)1.Fork(復(fù)刻)在線平臺(tái)和遠(yuǎn)程倉庫2.Clone(克隆)3.Push(推送)4.Pull-request(代碼合并請求)復(fù)刻倉庫本地倉庫開源軟件原始倉庫李四Pull(拉?。┍镜貦C(jī)器李四分布式協(xié)同開發(fā)的操作(1/2)克?。–lone)/派生(Fork)通過克隆或派生,將軟件項(xiàng)目的倉庫復(fù)制到自己的個(gè)人空間中,從而獲取軟件倉庫中的軟件代碼本地修改開發(fā)人員基于克隆后的軟件倉庫,在本地進(jìn)行軟件開發(fā)活動(dòng),如修復(fù)缺陷、開發(fā)新的功能等,所產(chǎn)生的代碼變更將只影響其本地的克隆庫,而不會(huì)影響原始的軟件倉庫提交合并(P/R)開發(fā)人員可將變更的代碼以P/R的形式發(fā)送到原始的軟件倉庫,提供關(guān)于代碼合并的相關(guān)信息,包括合并的概要性標(biāo)題、合并內(nèi)容,說明該P(yáng)R完成了哪些工作、代碼測試結(jié)果等情況分布式協(xié)同開發(fā)的操作(2/2)代碼質(zhì)量保證平臺(tái)采用人工審查和自動(dòng)測試相結(jié)合的方式,檢查P/R代碼質(zhì)量開發(fā)人員可自發(fā)參與貢獻(xiàn)的審查過程,以評論方式發(fā)表意見一些軟件項(xiàng)目還會(huì)通過持續(xù)集成工具,自動(dòng)編譯并測試所收到的P/R代碼,并向開發(fā)人員反饋測試結(jié)果PR的提出者接收到反饋后,可根據(jù)評論意見和測試結(jié)果,更新原始P/R中的相關(guān)代碼合并決策軟件項(xiàng)目核心開發(fā)團(tuán)隊(duì)綜合評估上述所有因素,決定接受還是拒絕某項(xiàng)貢獻(xiàn)的合并請求。如果PR被接受,則開發(fā)人員所貢獻(xiàn)的代碼和提交的歷史都將被合并到項(xiàng)目的中心倉庫中基于P/R分布式協(xié)同開發(fā)技術(shù)的優(yōu)勢簡單使用門檻低,開發(fā)人員可方便地貢獻(xiàn)代碼、評論他人貢獻(xiàn),極大提高了開發(fā)人員參與軟件項(xiàng)目開發(fā)的積極性規(guī)范PR機(jī)制提供了規(guī)范化的協(xié)同開發(fā)流程,促進(jìn)互聯(lián)網(wǎng)上大眾群體圍繞代碼貢獻(xiàn)的交流與合作,并與大眾評論、軟件測試、代碼審查等環(huán)節(jié)結(jié)合在一起,確保了軟件開發(fā)質(zhì)量透明所有軟件開發(fā)歷史信息和社交活動(dòng)信息都會(huì)保留下來,在開發(fā)人員主頁或軟件項(xiàng)目主頁中展現(xiàn)示例:mysql項(xiàng)目基于P/R的分布式開發(fā)協(xié)同開發(fā)者對P/R的評論P(yáng)/R標(biāo)題合并6次commit到Master分支中3.5基于群體的知識(shí)分享軟件開發(fā)實(shí)踐中遇到問題怎么辦?群體采用提問、回答、評論等多種方式進(jìn)行在線知識(shí)分享基于群體的知識(shí)分享參與分享的對象是開放的互聯(lián)網(wǎng)大眾分享的內(nèi)容表現(xiàn)為從問題到解答等多種知識(shí)樣式群智知識(shí)分享的分布式協(xié)同提問(Ask)在社區(qū)中進(jìn)行提問,以獲得其他人員的討論和解答回答(Answer)和討論(Comment)對提問進(jìn)行回答,或者對提問和回答進(jìn)行評論必要時(shí)可以附上相關(guān)的細(xì)節(jié),如問題解決的代碼片段接受(Accept)如果某個(gè)回答有效地解決了問題,那么提出者可以接受該回答搜索(Retrieve)檢索社區(qū)是否有相同或類似的問題,并找到相應(yīng)的問題解答軟件開發(fā)知識(shí)分享的互聯(lián)網(wǎng)平臺(tái)Stackoverflow和CSDN示例:StackOverflow發(fā)布的問題信息問題標(biāo)題問題信息問題描述及代碼示例:StackOverflow的問題回答問題回答問題回答描述回答相關(guān)信息接受該問題的回答海量的軟件開發(fā)知識(shí)SO用戶2400+萬,月訪問用戶量1億,用戶獲幫助450億SO問題2400+萬,3600萬回答,9100萬評論充分利用知識(shí)分享社區(qū)中的知識(shí)來解決課程學(xué)習(xí)和實(shí)踐中遇到的問題開源軟件托管平臺(tái)會(huì)受到封鎖20

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論