1. 程式人生 > 其它 >201971010142-王玉慧 常用原始碼管理工具與開發工具

201971010142-王玉慧 常用原始碼管理工具與開發工具

常用原始碼管理工具與開發工具

專案 內容
課程班級部落格連結 班級部落格連結
這個作業要求連結 作業要求連結
我的課程學習目標 掌握Typora的基本使用方法
這個作業在哪些方面幫助我實現學習目標 通過本次作業學會了使用Typora

1、實驗目的與要求

(1)瞭解軟體專案原始碼常用管理工具。

(2)瞭解軟體專案原始碼常用整合開發軟體工具。

2、實驗內容

任務1:調研原始碼版本管理軟體

(1)GitHub:

a.Github是什麼,有什麼用?

​ 簡單來說,GitHub是一個程式碼託管雲服務網站,幫助開發者儲存和管理其專案原始碼,且能夠追蹤、記錄並控制使用者對其程式碼的修改。

甚至你可以簡單粗暴的把它當作一個網盤,用來儲存任何東西。

b.它能為你做什麼

1.託管程式碼、歷史版本管理

​ 不僅僅是程式碼,任何檔案都支援(不少人用GitHub來寫部落格)。它會自動記錄程式碼的修改,在必要的時候,能夠快速回退到之前的歷史版本。

2.搜尋開源專案

​ GitHub是世界頂級開發者的聚集地,在這裡幾乎可以找到任何你想要的東西。上面分享有許多優秀、著名的開源專案,在遵守其License的前提下,可以免費使用、下載這些開源專案。這也是GitHub最為吸引人的地方。

3.分享的同時會得到社群的回饋

​ GitHub可以說是共產主義的最佳實踐之一。其一大優勢是協同開發,你分享出來的專案,其他開發者也可以參與貢獻,幫助你一同完善專案功能,Bug修復,程式碼質量提升。

4.使用Github Pages服務,你可以免費搭建一個部落格網站

GitHub Pages提供靜態網頁託管服務,它直接從 GitHub 上的倉庫獲取 HTMLCSSJavaScript檔案,然後構建併發佈網站。 您可以在 GitHub Pages 示例集合中檢視 GitHub Pages 站點的示例。
GitHub 提供免費的 github.io子域,也支援自定義域名。

5.學習,能力提升

​ GitHub上有很多優秀開源專案和教程資源值得你去發現、學習

6.提升自己的影響力

​ 你可以將自己的開源專案釋出到GitHub網站上,專案越受歡迎獲得的Star越高,說明業界對你的能力越認可。一份優秀的GitHub主頁,能為自己的簡歷潤色不少。

C.GitHub和Git的關係與區別

​ 簡單來說,Git只是一個命令列工具,一個分散式版本控制系統。正是它在背後管理和跟蹤你的程式碼歷史版本,好比一個時光機,讓程式碼出錯時不至於手忙腳亂,能快速回退之前的歷史版本。 類似的工具還有SVN

​ 而GitHub是一個程式碼託管網站,背後使用Git作為版本管理工具(而非svn)。主要服務是將專案程式碼託管到雲伺服器上,而非儲存在自己本地硬碟上。

(2)GitLab:

​ GitLab是一個利用 Ruby on Rails 開發的開源應用程式,實現一個自託管的Git專案倉庫,可通過Web介面進行訪問公開的或者私人專案。

​ 它擁有與Github類似的功能,能夠瀏覽原始碼,管理缺陷和註釋。可以管理團隊對倉庫的訪問,它非常易於瀏覽提交過的版本並提供一個檔案歷史庫。它還提供一個程式碼片段收集功能可以輕鬆實現程式碼複用,便於日後有需要的時候進行查詢。

​ 5.0以前版本要求伺服器端採用 Gitolite 搭建,5.0版本以後不再使用 Gitolite ,採用自己開發的 gitlab-shell 來實現。

系統要求:

  • Ubuntu/Debian
  • ruby 1.9.3+
  • mysql or postgresql
  • git
  • gitlab-shell
  • redis
  • Sidekiq

(3)Bitbucket:

​ BitBucket 是一家原始碼託管網站,採用Mercurial和Git作為分散式版本控制系統,同時提供商業計劃和免費賬戶.

特點:

  1. 無限制的私有倉庫個數

  2. 無限制的磁碟空間

  3. 同時支援https/ssh

  4. Bug 跟蹤

  5. 專案Wiki

  6. API 支援

  7. 靈活的許可權控制

  8. 可自定義域名

  9. 修改記錄輸出

  10. 自定義下載

任務2:調研並試用廣泛使用的原始碼整合開發工具軟體(Integrated Development Environment,IDE)

(1)MyElipse:

​ MyEclipse是在Eclipse 基礎上加上自己的外掛開發而成的功能強大的企業級整合開發環境,主要用於Java、Java EE以及移動應用的開發。在最新版本的MyEclipse中,配合CodeMix使用支援也十分廣泛,尤其是對各種開源產品和主流開發框架的支援相當不錯。目前已支援PHP、Python、Vue、Angular、React、Java、Java EE等語言和框架開發。

在結構上,MyEclipse的特徵可以被分為7類:

  1. JavaEE模型

  2. WEB開發工具

  3. EJB開發工具

  4. 應用程式伺服器的聯結器

  5. JavaEE專案部署服務

  6. 資料庫服務

適用於以下幾種開發型別:

a.企業級開發

​ MyEclipse為完成工作提供了智慧的企業工具。Java EE庫和功能是企業級專案的基礎,支援部署到幾十個企業友好的應用伺服器進行快速檢測。

​ b.Web開發

​ 有了MyEclipse,你就擁有了所有的Web開發技術。支援快速新增技術功能到Web專案中,使用視覺化編輯器以便編碼和配置,並且還可以在多種應用伺服器上測試你的任務。

​ c.雲開發

​ 脫離快取,使用內建功能連線到雲,支援探索和連線服務,為他人提供自己的REST Web服務。無論是定位還是虛擬的微博,MyEclipse都能輕鬆地建立雲連線。

​ d.移動開發

​ 移動應用開發再也無需使用特殊工具或學習新的程式語言。MyEClipse支援使用Java、HTML和JQuery進行編碼,使用移動工具建立擁有良好編碼的應用,並嵌入到原生iOS和Android應用中。

(2)Microsoft Visual Studio(簡稱VS):

​ Visual Studio一般指Microsoft Visual Studio。 Microsoft Visual Studio(簡稱VS)是美國微軟公司的開發工具包系列產品。VS是一個基本完整完整的開發工具集,它包括了整個軟體生命週期中所需要的大部分工具,如UML工具、程式碼管控工具、整合開發環境整合開發環境(IDE)等等。所寫的目的碼適用於微軟支援的所有平臺,包括Microsoft Windows、Windows Mobile、Windows CE、NET Framework、.NET Compact Framework和Microsoft Silverlight及Windows Phone。

​ Visual Studio是最流行的Windows平臺應用程式的整合開發環境。最新版本為 Visual Studio 2019 版本,基於.NET Framework 4.8 。

功能:

名稱 內部版本 C類語言 Basic類語言 Java類語言 其他語言
Visual Studio 4.0 Visual C++ 4.0 Visual Basic 3.0 Visual FoxPro 4.0
Visual Studio 97 5.0 Visual C++ 5.0 Visual Basic 5.0 Visual J++ 1.1 Visual FoxPro 5.0
Visual Studio 6.0 6.0 Visual C++ 6.0 Visual Basic 6.0 Visual J++ 6.0 Visual FoxPro 6.0
Visual Studio .NET 2002 7.0 Visual C++ 2002Visual C# 2002 Visual Basic 2002 Visual J# 1.0 -
Visual Studio .NET 2003 7.1 Visual C++ 2003Visual C# 2003 Visual Basic 2003 Visual J# 1.1 -
Visual Studio 2005 8.0 Visual C++ 2005Visual C# 2005 Visual Basic 2005 Visual J# 2.0 -
Visual Studio 2008 9.0 Visual C++ 2008Visual C# 2008 Visual Basic 2008 - -
Visual Studio 2010 10.0 Visual C++ 2010Visual C# 2010 Visual Basic 2010 - Visual F#
Visual Studio 2012 11.0 Visual C++ 2012Visual C# 2012 Visual Basic 2012 Visual F# 2012
Visual Studio 2013 12.0 Visual C++ 2013Visual C# 2013 Visual Basic 2013 Visual F# 2013
Visual Studio 2015 14.0 Visual C++ 2015Visual C# 2015 Visual Basic 2015 Visual F# 2015
Visual Studio 2015 RTM 14.0 Visual C++ 2015Visual C# 2015 Visual Basic 2015 Visual F# 2015
Visual Studio 2017 15.0 Visual C++ 2017Visual C# 2017 Visual Basic 2017 Visual F# 2017
Visual Studio 2019 16.0 Visual C++ 2019Visual C# 2019 Visual Basic 2019 Visual F# 2019

(3)HBuilderX:

一套程式碼,多端執行,可以同時生成ios,Android,H5,微信小程式,支付寶小程式,百度小程式。
程式碼實現簡單,開發快速,官網提供很多元件,可以直接拿來用。
uniapp開發體驗對前端人員十分友好,首先uni-app是基於vue.js的,其次和微信小程式的開發方式類似。
突破了系統對H5呼叫原生功能的限制,比如使用uniapp結合HTML5plus能呼叫系統相簿圖片選擇和拍照等。

(4)PyCharm:

​ PyCharm擁有一般IDE具備的功能,比如, 除錯、語法高亮、Project管理、程式碼跳轉、智慧提示、自動完成、單元測試、版本控制

另外,PyCharm還提供了一些很好的功能用於Django開發,同時支援Google App Engine,更酷的是,PyCharm支援IronPython.。

主要功能

1.編碼協助

​ 其提供了一個帶編碼補全,程式碼片段,支援程式碼摺疊和分割視窗的智慧、可配置的編輯器,可幫助使用者更快更輕鬆的完成編碼工作。

專案程式碼導航

​ 該IDE可幫助使用者即時從一個檔案導航至另一個,從一個方法至其申明或者用法甚至可以穿過類的層次。若使用者學會使用其提供的快捷鍵的話甚至能更快。

2.程式碼分析

​ 使用者可使用其編碼語法,錯誤高亮,智慧檢測以及一鍵式程式碼快速補全建議,使得編碼更優化。

3.Python重構

有了該功能,使用者便能在專案範圍內輕鬆進行重新命名,提取方法/超類,匯入域/變數/常量,移動和前推/後退重構。

4.支援Django

​ 有了它自帶的HTML,CSS和 JavaScript編輯器 ,使用者可以更快速的通過Django框架進行Web開發。此外,其還能支援CoffeeScript, Mako 和 Jinja2。

5.支援Google App引擎

​ 使用者可選擇使用Python 2.5或者2.7執行環境,為Google App引擎進行應用程式的開發,並執行例行程式部署工作。

6.整合版本控制

​ 登入,錄出,檢視拆分與合併--所有這些功能都能在其統一的VCS使用者介面(可用於Mercurial, Subversion, Git, Perforce 和其他的SCM)中得到。

7.圖形頁面偵錯程式

​ 使用者可以用其自帶的功能全面的偵錯程式對Python或者Django應用程式以及測試單元進行調整,該偵錯程式帶斷點,步進,多畫面檢視,視窗以及評估表示式。

8.整合的單元測試

​ 使用者可以在一個資料夾執行一個測試檔案,單個測試類,一個方法或者所有測試專案。

9.可自定義&可擴充套件

​ 可綁定了 Textmate, NetBeans, Eclipse & Emacs 鍵盤主盤,以及 Vi/Vim模擬外掛。

(5)Android studio:

​ Android Studio 是谷歌推出的一個Android整合開發工具,基於IntelliJ IDEA. 類似 Eclipse ADT,Android Studio 提供了整合的 Android 開發工具用於開發和除錯。

架構組成:

​ 在IDEA的基礎上,Android Studio 提供:

  • 基於Gradle的構建支援
  • Android 專屬的重構和快速修復
  • 提示工具以捕獲效能、可用性、版本相容性等問題
  • 支援ProGuard和應用簽名
  • 基於模板的嚮導來生成常用的 Android 應用設計和元件
  • 功能強大的佈局編輯器,可以讓你拖拉 UI 控制元件並進行效果預覽。

(6)NetBeans:

​ NetBeans是Sun公司(2009年被甲骨文收購)在2000年創立的開放原始碼供開發人員和客戶社群的家園,旨在構建世界級的Java [IDE。NetBeans當前可以在Solaris、Windows、Linux和Macintosh OS X平臺上進行開發,並在SPLSun公用許可)範圍內使用。

​ NetBeans包括開源的開發環境和應用平臺,NetBeans IDE可以使開發人員利用Java平臺能夠快速建立Web、企業、桌面以及移動的應用程式,NetBeans IDE已經支援PHP、Ruby、JavaScript、Groovy、Grails和C/C++等開發語言。

(7)IntelliJ IDEA:

​ IntelliJ IDEA,是java程式語言開發的整合環境。IntelliJ在業界被公認為最好的java開發工具,尤其在智慧程式碼助手、程式碼自動提示、重構、JavaEE支援、各類版本工具、JUnit、CVS整合、程式碼分析、 創新的GUI設計等方面的功能可以說是超常的。IDEA是JetBrains公司的產品,這家公司總部位於捷克共和國的首都布拉格,開發人員以嚴謹著稱的東歐程式設計師為主。它的旗艦版本還支援HTML,CSS,PHP,MySQL,Python等。免費版只支援Java,Kotlin等少數語言。

​ 最突出的功能自然是除錯(Debug),可以對Java程式碼,JavaScript,JQuery,Ajax等技術進行除錯。

比如檢視Map型別的物件,如果實現類採用的是雜湊對映,則會自動過濾空的Entry例項。

其次,需要動態Evaluate一個表示式的值,比如我得到了一個類的例項,但是並不知曉它的API,可以通過Code Completion點出它所支援的方法。

​ 最後,在多執行緒除錯的情況下,Log on console的功能可以幫你檢查多執行緒執行的情況。

(8)Code:: Blocks:

​ Code::Blocks 是一個開放原始碼的全功能的跨平臺C/C++整合開發環境。 Code::Blocks是開放原始碼軟體。Code::Blocks由純粹的C++語言開發完成,它使用了著名的圖形介面庫wxWidgets(3.x)版。對於追求完美的C++程式設計師,再也不必忍受Eclipse的緩慢。

​ Code::Blocks支援外掛,包括程式碼格式化工具AStyle;程式碼分析器;類嚮導;程式碼補全;程式碼統計;編譯器選擇;複製字串到剪貼簿;偵錯程式;檔案擴充套件處理器;Dev-C++DevPak更新/安裝器;DragScroll,原始碼匯出器,幫助外掛,鍵盤快捷鍵配置,外掛嚮導;To-Do列表;wxSmith;wxSmith MIME外掛;wsSmith工程嚮導外掛;Windows7外觀。

​ Code::Blocks具有靈活而強大的配置功能,除支援自身的工程檔案、C/C++檔案外,還支援AngelScript、批處理、CSS檔案、D語言檔案、Diff/Patch檔案、Fortan77檔案、GameMonkey指令碼檔案、Hitachi彙編檔案、Lua檔案、MASM彙編檔案、Matlab檔案、NSIS開源安裝程式檔案、Ogre Compositor指令碼檔案、Ogre Material指令碼檔案、OpenGL Shading語言檔案、Python檔案、Windows資原始檔、XBase檔案、XML檔案、nVidia cg檔案。識別Dev-C++工程、MS VS 6.0-7.0工程檔案,工作空間、解決方案檔案。

​ Code::Blocks基於wxWidgets開發,正體現了wxWidgets的強大。以前Borland C++Builder X宣稱基於wxWidgets開發跨平臺、相容性好、最優秀的C++ IDE環境,但沒有實現;讓我們拭目以待。國內的Code::Blocks愛好者和跨平臺開發員應該儘快建立中文Code::Blocks網站,提供Code::Blocks中文化支援,促進Code::Blocks在國內的發展。