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 上的仓库获取 HTML
、CSS
和 JavaScript
文件,然后构建并发布网站。 您可以在 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作为分布式版本控制系统,同时提供商业计划和免费账户.
特点:
-
无限制的私有仓库个数
-
无限制的磁盘空间
-
同时支持https/ssh
-
Bug 跟踪
-
项目Wiki
-
API 支持
-
灵活的权限控制
-
可自定义域名
-
修改记录输出
-
自定义下载
任务2:调研并试用广泛使用的源代码集成开发工具软件(Integrated Development Environment,IDE)
(1)MyElipse:
MyEclipse是在Eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。在最新版本的MyEclipse中,配合CodeMix使用支持也十分广泛,尤其是对各种开源产品和主流开发框架的支持相当不错。目前已支持PHP、Python、Vue、Angular、React、Java、Java EE等语言和框架开发。
在结构上,MyEclipse的特征可以被分为7类:
-
JavaEE模型
-
WEB开发工具
-
EJB开发工具
-
应用程序服务器的连接器
-
JavaEE项目部署服务
-
数据库服务
适用于以下几种开发类型:
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在国内的发展。