201871030117-李亞楠-常用源代碼管理工具和開發工具


項目 內容
課程班級博客連接 2018卓越班
這個作業要求鏈接 常用源代碼管理工具和開發工具
我的課程學習目標 1.認識一些源代碼版本管理軟件,比較異同,為以后更好的使用做理論鋪墊;
2.了解了一些廣泛使用的源代碼集成開發工具軟件,體會各種IDE的特點,學會這些集成開發工具正確、高效地使用;
3.練習使用typora進行本地編輯和預覽,使博客書寫更加便捷;
這個作業在哪方面幫助我實現這個目標 1.閱讀相關博客,以及網上的各種資料,了解各種源代碼版本管理軟件的異同和各自的優勢,能對源代碼進行合理的管理;
2.下載各種常用的IDE,簡單使用,體會其特色及存在的問題;
3.下載typora進行博客書寫練習,熟悉此軟件的應用,高效書寫博客;

任務1:調研源代碼版本管理軟件

  • 版本控制系統的類型

    • 本地:所有開發人員都在同一個文件系統中
    • 集中式:項目團隊在中央服務器上具有單個項目副本,團隊成員將更改提交給一個副本
    • 分布式:開發人員在本地存儲庫中工作,更改在存儲庫之間共享
  • git

    • git是用於Linux內核開發的版本控制工具,是一個開源的分布式版本控制系統
    • 優點:
      • 適合分布式開發,強調個體,公共服務器壓力和數據量都不會太大
      • 速度快,靈活。git分支的本質是一個指向提交快照的指針,速度快、靈活,分支之間可以任意切換,可以在本地進行操作可以不同步到遠程
      • 任意兩個開發者之間可以很容易解決沖突。多人開發很容易出現沖突,可以先pull遠程到本地,然后本地合並一下分支,解決好沖突,再push到遠程即可
      • 離線工作。如果git服務器出現問題,也可以在本地進行切換分支操作,等有網絡之后再提交、合並等操作
    • 缺點:
      • 學習周期相對較長
      • 代碼保密性差,一單開發者把整個庫克隆下來就可以完全公開所有代碼和版本信息
      • git沒有嚴格的權限控制,一般是通過系統設置文件的讀寫權限來做權限控制的

1.GitHub

  • GitHub是git存儲庫和協作項目開發的首選網站。該系統允許用戶輕松創建基於Git的特殊版本控制系統。

  • GitHub有以下幾個優點:

    • pull request,issue等特點對開發人員友好
    • 功能設計簡潔實用上手很快,可用性好
    • 錯誤跟蹤:這項功能屬於協作功能,可以通過項目檢測到的軟件錯誤記錄來提高代碼質量
    • 快速搜索:存儲庫提供了方便的項目結構,允許有效的搜索和排序
    • 社區:GitHub的用戶數量已經有很大規模。這個世界范圍內極大的開發團隊是共享技能和經驗的重要來源。用戶可以溝通,評論,編輯和跟蹤新聞
    • 共享:項目源代碼不僅可以使用Git進行復制,還可以作為歸檔下載
    • 協作開發:GitHub為團隊提供了高效的功能
    • 兼容性:源代碼位於GitHub的項目可以輕松地定制到任何雲主機服務
    • 支持Git、SVN、HG、TFS導入
  • GitHub缺點:

    • 非免費,而且限制文件大小不能超過100Mb,存儲庫可以托管信息1Gb
    • wiki功能太弱,導致文檔經常被分離到一個獨立站點
    • 基於Git,學習周期較長

2.GitLab

  • GitLab也是基於Git版本控制開發的,主要有幾種形式:適用於企業的GitLab SAAS,以及用戶的個性化解決方案GitLab Community Edition

  • GitLab優點:

  • 免費,不限私有存儲庫的數量

  • 在開源許可證下允許

  • 錯誤跟蹤和基於Web的代碼編輯

  • 與LDAP(輕量級目錄訪問協議)集成,允許在Internet上定位和訪問各種資源。GitLab EE支持多種LDAP服務和組同步

  • 支持Git導入

  • GitLab 缺點:

    • 界面相對較慢
    • 存儲庫常見的技術問題

3.BitBucket

  • BitBucket是Altassian公司提供的一個基於web的版本庫托管服務,支持Mercurial和Git版本控制系統

  • BitBucket優點:

    • 支持Hg,也支持git
    • 小團隊免費,支持5個人以內的合作開發
    • 一個集成的查詢管理系統
    • 通過社交媒體和GitHub認證
    • 集成Jira工具。BitBucket和Jira在整個開發階段都做了整合,通過集成的錯誤跟蹤組件,JIRA自動更新有關檢測到的問題信息
    • 導入現有Git項目
    • 支持Git,CodePlex,Google Code,HG,SourceForge,SVN導入
  • BitBucket缺點:

    • 不開源
    • 系統不穩定

4.GitHub、GitLab、BitBucket的異同

  • 相同點:

    • 都是基於Web的版本庫托管服務,支持Git版本控制系統

    • 具有一些相同的特點,如markdown支持、第三方集成等

    • 為開發團隊提供了存儲、分享、發布和合作開發項目的中心化雲存儲的場所

  • 不同點:

    • 只有GitLab是開源代碼版本;GitHub以開源友好而聞名,並且擁有最大數量的開源項目但其實並不是開源的;BitBucket也不是開源的,但是再購買托管服務的方案中提供了產品定制功能
    • GitHub、GitLab、BitBucket都具有“發現”功能,除了GitLab,每個都提供了“follow”功能
    • GitHub、BitBucket支持導入基於多個不同VCS的repos,而GitLab只支持Git
    • GitHub允許托管無限的共有代碼倉庫,但是項目不超過1GB和每個單個文件不能超過100MB;BitBucket允許5個成員加入,公有、私有倉庫都免費;GitLab允許無限數量的用戶再無限數量的公有和私有項目上進行協作,並且每個存儲庫由10GB的空間限制
    • GitHub支持搭建本地服務器的個人GitHub,只能供個人使用;GitLab提供開源代碼,支持企業自己用企業買的服務器搭建企業GitLab,供公司所有人使用
    • GitHub支持導入Git、SVN、HG、TFS;GitLab支持導入Git;BitBucket支持導入Git、HG、SVN、Google code
    • BitBucket服務類似於GitHub,但功能不大相同。BitBucket最適合小型開發團隊,提供了與GitHub和GitLab相對更溫和的價格,並且為團隊提供了靈活的部署模式

任務2:調研並使用廣泛使用的集成開發軟件

1.NetBeans

  • NetBeans不僅僅支持Windows平台,而且還支持Mac,Linux和Solaris等平台,你可以根據自己的平台選擇合適的版本,NetBeans也不僅僅只是Java開發平台,目前還支持Java Fx、Groovy、PHP、HTML5,Grails和C/C++等開發語言。NetBeans對國際化支持也非常好,所以可以直接使用中文版

  • NetBeans IDE包括開源的開發環境和應用平台,還可以下載綁定服務器,這樣NetBeans IDE就可以方便的讓開發人員利用java平台能夠快速進行Web應用、桌面應用以及移動的應用程序的開發工作

  • NetBeans項目還有一個活躍的開發社區提供支持,為NetBeans開發環境提供了豐富的產品文檔和培訓資源以及大量的第三方插件

  • NetBeans功能強大,安裝簡單

2.Eclipse

  • Eclipse原來是IBM公司開發專門用於java的IDE開發環境,2001年11月貢獻給開源社區,現在它由非營利軟件供應商聯盟Eclipse基金會管理,Eclipse是一個開放源碼的、基於Java的可擴展開發平台。

  • Eclipse設計非常優良,它本身只是一個框架和一組服務,可以通過插件的方式構建開發環境,並擴展某功能。而且,Eclipse附帶了一個標准的插件集,其中就包括Java開發工具(JDK)

  • 雖然大多數用戶都將Eclipse當作Java集成開發環境(IDE)來使用,Eclipse包括插件開發環境(PDE),這個組件主要是針對希望擴展Eclipse的軟件開發人員,因為它允許他們構建與Eclipse環境無縫集成的工具。由於Eclipse中的每樣東西都是插件,對於給Eclipse提供插件,以及給用戶提供一致和統一的集成開發環境而言,所有工具開發人員都具有同等的發揮場所。目前Eclipse也可以通過插件的方式擴展,使其作為C++、python、PHP等其它語言的開發工具

3.IntelliJ IDEA

  • IDEA是java語言開發的集成環境,IntelliJ再業界被公認為是最好的java開發工具之一,尤其在智能代碼助手、代碼自動提示、重構、J2EE支持、Ant、JUnit、CVS整合、代碼審查、創新的GUI設計等方面的功能可以說是超常的,IDEA是JetBrains公司的產品,這家公司總部位於捷克共和國首都布拉格,開發人員以嚴謹著稱的東歐程序員為主

4.Visual Studio

  • Visual Studio是微軟公司推出來的開發環境。VS是一個基本完整的開發工具集,它包括了整個軟件生命周期中所需要的大部分工具,如UML工具、軟件管控工具、集成開發環境等等
  • Visual Studio可以用來創建Windows平台下的Windows應用程序和網絡應用程序,也可以用來創建網絡服務、智能設備應用程序和Office插件
  • 在VS集成環境下可以進行C/C++/C#/VB/F#語言和一些網絡語言編譯,所編寫的程序代碼適用於微軟支持的所有平台。
  • Visual studio是一個可視化的工具集合。它將代碼編譯、編譯器、連接器、資源編輯器都整合在同一個開發環境中。它通過項目、項目集等組織概念使開發直到發布,能夠稱為流程化,減少手工勞動。VS在編輯代碼時,UI會有各種直觀的提示和輔助功能

5.Hbuilder

  • HBuilder,H是HTML,Builder是構造者,X是HBuilder的下一代版本,簡稱HX。HX是輕如編輯器、強加IDE的合體版本。
  • HBuilder是DCloud(數字天堂)推出的一款支持HTML5的Web開發IDE。HBuilder的編寫用到了Java、C、web和Ruby。自身是用Java編寫的,特點有輕巧、急速、vue開發強化、小程序支持、markdown利器、強大的語法提示、高效極客工具、更強的json支持
  • HX支持java插件、nodejs插件,並兼容了很多vscode的插件及代碼塊,還可以通過外部命令,方便的調用各種命令行功能,並設置快捷鍵。
  • 在一個團隊內部,HX不止代替了其它開發工具,還代替了記事本、word、evernote等

6.PyCharm

  • Pycharm是JetBrains公司可開發的Python集成開發環境,PyCharm分為兩個版本,專業版和社區版

  • PyCharm提供智能代碼補全、代碼檢查、實時錯誤高亮和快速修復,以及自動化代碼重構和豐富的導航功能。PyCharm為現代Web開發框架提供豐富的框架針對性支持

  • PyCharm與IPython Notebook集成,提供交互式Python控制台,並且支持Anaconda和多種科學化的包(如NumPy)

7.Android studio

  • Android Studio是Google推出基於IntelliJ IDEA的Android應用集成開發環境,而且提供了更多提高Android應用的構建效率功能

  • 基於Gradle的靈活構建系統;Instant Run可以將變更推送到正在運行的應用中,無須重新構建Apk;快速和豐富的模擬器;豐富的測試工具、性能工具和網絡監控工具;C++和NDK支持,以及LLDB可以調試原生代碼;使用Room將數據持久化數據庫;使用apkanalyzer對預構建APK進行分析和調試、強大的布局編輯器、支持Koltin編碼和Lua編碼

8.Code Blocks

  • Code Blocks是一個開放源碼的全功能的跨平台C/C++集成開發環境,純粹由C語言完成,使用了著名的圖形界面庫wxWidgets版,選擇UNICODE支持中文。
  • Code Blocks提供了許多工程模板,包括控制台應用、動態連接庫、靜態庫、FLTK應用等等,另外它還支持用戶自定義工程模板。
  • Code Blocks支持語法色彩醒目提醒,支持代碼完成,支持工程管理、項目構建、調試。Code Blocks支持插件,主要包括代碼格式工具AStyle、代碼分析器、代碼統計等等。
  • Code Blocks具有靈活而強大的配置功能,除了支持自身的工程文件、C/C++外,還支持批處理、CSS文件、MASM匯編文件、XBase文件等等。

任務3:使用typora編寫博客


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM