201871010202-曹盼盼 常用源代码管理工具与开发工具
201871010202-曹盼盼 常用源代码管理工具与开发工具
项目 | 内容 |
---|---|
课程班级博客链接 | 课程班级博客 |
这个作业要求链接 | 作业要求 |
我的课程学习目标 | 1. 通过访问软件官网、查阅相关资料了解常用的项目源代码管理工具,了解它们有哪些不同的地方? 2. 下载安装常用的、流行的集成开发软件工具,学习使用它们、掌握基本的操作,了解各个IDE分别有哪些特色和不足,分别有哪些用途? 3. 学习在Typora软件中使用Markdown写博客,写完后对比与第一次写博客的方式有何不同。 4. 熟练掌握Typora的常用功能,以后写博客基本都会使用这个软件,写完后复制到博客园里发布。 |
这个作业在哪些方面帮助我实现学习目标 | 1. 通过了解常用的软件项目源代码管理工具,学习通过高效的方式管理源代码。 2. 通过下载安装常用的IDE,其中有些已经在以前的实验课上用过,并且知道如何用它们写程序、调试程序、运行程序,对比它们各有哪些优点与不足。 |
1. 实验目的与要求
(1) 了解软件项目源代码常用管理工具。
(2) 了解软件项目源代码常用集成开发软件工具。
2. 实验内容
任务1:调研源代码版本管理软件
上网调研目前被广泛使用的基于源代码版本管理软件Git的项目管理工具,如GitHub、Gitlab、Bitbucket 等,比较它们之间的异同(包括但不限于团队协作流程,项目管理等)。
作业要求中提到的GitHub/GitLab/Bitbucket等软件都是用于管理源代码的,在以前的语言课上所学的知识几乎都是写一些十几行、几十行的小程序,没有开发过较大的项目或软件,根本不用这些软件管理,所以没有使用这些代码管理工具的经验,只能上网查找相关资料。通过网上查阅相关资料发现:他们的核心功能基本相同,但还是有各自的优缺点,下面详细说一下几个比较著名的源代码管理软件的区别及它们的优缺点。
区别:
(1)Git是一种版本控制系统,是一种工具,用于代码的存储和版本控制。
(2)GitHub是一个基于Git实现的在线代码仓库,是目前全球最大的代码托管平台,可以帮助程序员之间互相交流和学习。
(3)GitLab是一个基于Git实现的在线代码仓库软件,你可以用GitLab自己搭建一个类似于GitHub一样的仓库,但是GitLab有完善的管理界面和权限控制,一般用于在企业、学校等内部网络搭建Git私服。
(4)GitHub和GiLlab两个都是基于Web的Git远程仓库,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。从代码的私有性上来看,GitLab 是一个更好的选择。但是对于开源项目而言,GitHub 依然是代码托管的首选。
-
GitHub
优点:
(1)代码合并很方便,可以对各种库进行托管并提供Web界面。
(2)可以找到很多好的开源代码让我们学习。
(3)支持多个人相互交流,共同完成一个项目。
缺点:
命令很多,对于新手来说入门学习是一个较为困难的过程。
-
Gitlab
优点:
(1)免费,用户可以拥有无限数量的私有存储库。当然为了满足客户要求,GitLab也有企业版,在其基本功能之上增加了一些额外的功能,从而改善了与在线工具,工作流和服务器管理等的交互。(2)在开源许可证下运行。
(3)错误跟踪和基于Web的代码编辑。
(4)与LDAP集成,允许在lnternet上定位和访问各种资源。企业版支持多种LDAP服务和组同步。
(5)支持Git导入。
缺点:
(1)界面相对较慢。(2)存储库常见的技术问题。
-
Bitbucket
优点:
(1)对于小团队免费。(2)—个集成的查询管理系统。
(3)通过社交媒体和GitHub认证。
(4)集成Jira工具,和Jira在整个开发阶段都做了整合,通过集成的错误跟踪组件,JIRA自动更新有关检测到的问题的信息。
(5)可以导入现有Git项目。
(6)支持Git,CodePlex,Google Code,HG,SourceForge,SVN导入。
缺点:
(1)不开源。(2)系统不稳定。
任务2:调研并试用广泛使用的源代码集成开发工具软件
作为一名软件/程序开发人员,不管你使用哪门语言进行源代码开发都有很多可供选择的IDE,IDE是提供软件/程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具,集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套件,开发者可以通过IDE提供的代码高亮,代码补全和提示,语法错误提示,函数追踪,断点调试等功能提高开发效率。上网调研并试用包括MyElipse、Visual Studio 、HBuilderX、PyCharm、Android studio、NetBeans、IntelliJ IDEA、Code:: Blocks等IDE,结合调研资料和使用体验概括总结以上IDE的功能特色。
作业要求中提到的IDE有一部分是在以前的高级语言课上已经用过的,比较熟悉。这些IDE大多是开发C/C++、Java、Python、Html、Javascript等语言的,它们界面美观、功能强大,有一些是开源的、可以完全免费使用的,有一部分学生也可以申请免费使用社区版和教育版,使用一款好的IDE能够极大地提高我们的开发效率。
- Microsoft Visual Studio
Microsoft Visual Studio是由微软公司开发的一款IDE,它的前身是Microsoft Visual C++,它可以用来开发C、C++、C#、F#、Python等除了Java外几乎所有的语言,目前最新版本是2019版,有Windows和Mac两种版本,可以良好地兼容Windows操作系统,被称为“宇宙最强IDE”。
Visual Studio 2019新增了一键清除代码(即单击即可处理所有的警告信息)、Visual Studio 的全新AI支持(Visual Studio IntelliCode)、同时引入了实时共享功能。相应的,微软优化了VS的Debug功能,使之变得更加高效便捷。
-
Visual Studio Code
(1)有类似vim命令行插件,可以命令行操作,扩充快捷键使用。
(2)有Markdown插件,可以编辑md文档。
(3)Markdown可以编辑和展示双窗口。
(4)可以开发C++项目。
(5)编辑,编译,运行,调试集成,还有其他集成插件。
-
MyEclipse
(1)被广泛应用的免费开源的Java编辑器和IDE。可以灵活的适用于初学者和专业人。
(2)有很好的插件机制,支持各种各样的扩展和插件。最初是一个Java IDE。现在扩展到支C/C ++,Java、Peri、PHP、Python、Ruby以及更多的语言。
(3)是一个跨平台的IDE,支持Windows、Linux和Mac OS X。
-
Pycharm
(1)PyCharm是著名的PythonIDE,有知名的IDE开发商JetBrains出品。除了最常用的IDE功能支持外,PyCharm特别对Python Web开发进行优化设计(Django、Flask、Pyramid、Web2Py)。PyCharm还支持Google App Engine和IronPython/Jupyter。
(2)除了Python之外,它还支持其他Web开发语言:JavaScript、Node.js、CoffeeScript、TypeScript、Dart、CSS、HTML。
(3)可以很容易地与Git,Mercurial和SVN等版本管理(VCS)工具集成。
-
Code::Blocks
(1)可用于Windows、Linux和Mac OS X。
(2)完全的可定制性和可扩展性。
(3)支持代码的编译、调试、代码覆盖、分析和自动完成。
(4)是一个类浏览器。即是说它可以使面向对象编程可视化。
(5)拥有Eclipse这样的可在安排元素时使用拖放功能的特性,另外也支持代码分析。
-
Android Studio
Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似Eclipse,ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
(1)基于Gradle的构建支持。
(2)Android 专属的重构和快速修复。
(3)提示工具以捕获性能、可用性、版本兼容性等问题。
(4)支持ProGuard和应用签名。
(5)基于模板的向导来生成常用的 Android 应用设计和组件。
(6)功能强大的布局编辑器,可以让你拖拉 UI 控件并进行效果预览。
-
Intellij IDEA
IntelliJ IDEA是Java语言开发的集成环境,IntelliJ在业界被公认为最好的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。
-
NetBeans
(1)NetBeans 不仅仅支持Windows平台,而且还支持Mac,Linux和Solaris等平台,你可以根据自己的平台选择合适的版本,NetBeans 也不仅仅只是Java开发平台,目前它还支持Java Fx、Groovy、PHP、HTML5、Grails和C/C++等开发语言。
(2)NetBeans对国际化支持也非常好,所以你可以直接使用中文版,这对于英文不好的同学来说帮助非常大。
(3)NetBeans IDE包括开源的开发环境和应用平台,你还可以下载绑定的服务器,这样NetBeans IDE就可以非常方便的让开发人员利用Java平台能够快速进行Web应用、桌面应用以及移动的应用程序的开发工作。
(4)除此之外,NetBeans项目还有一个活跃的开发社区提供支持,为NetBean开发环境提供了丰富的产品文档和培训资源以及大量的第三方插件。
任务3:调研并试用广泛使用的源代码集成开发工具软件
撰写任务1、任务2相关内容博客
- 练习使用Typora进行MarkDown格式博客的本地编辑和实时预览,编辑完成后复制到博客园中。
- 博客名称:学号-姓名 常用源代码管理工具与开发工具。
- 博文开头格式与实验一相同。
用Typora写完博客后已发布在博客园,博客名称已按要求更改。
3. 实验总结
- 通过本次实验,我了解了常用的源代码管理工具与开发工具,知道了它们的用途。知道了在哪些情况下使用哪些工具,有效使用工具能极大地提高我们的学习和工作效率。
- 对于那些常用的IDE,通过官网了解了它们的特色功能,但那些功能一般都是比较高级的功能,初学时还用不到,所以只要简单了解即可。
- 学会了简单使用Typora软件,用这个软件写博客并通过复制最终发布到博客园比直接用博客园更简单、更方便。它的一个强大功能是实时预览,还可以通过图形用户界面的方式插入表格、图片、有序列表等博客中常用的格式。