201870020103-崔梦涛 常用源代码管理工具与开发工具

常用源代码管理工具与开发工具

项目 内容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST
这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/14521534.html
我的课程学习目标 1.了解软件项目源代码常用管理工具。
2.了解软件项目源代码常用集成开发软件工具。
这个作业在哪些方面帮助我实现学习目标 1.通过本次实验,了解GitHub、Gitlab、Bitbucke等基于源代码
   版本管理软件Git的项目管理工具之间的异同。
2.尝试试用广泛使用的源代码集成开发工具软件。
3.继续练习博客的编写,使编写过程越来越熟练。

任务1:调研源代码版本管理软件

一、简要介绍

1.GitHub

        GitHub是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。

2.GitLab

        GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
        GitLab 应用特点:1. Web框架使用Ruby on Rails。2. 基于MIT代码发布协议。3. 需要gitolite协同工作。

3.Bitbucke

        BitBucket 是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户。

       特点:

             1.无限制的私有仓库个数
             2.无限制的磁盘空间
             3.同时支持https/ssh
             4.Bug 跟踪
             5.项目Wiki
             6.API 支持
             7.灵活的权限控制
             8.可自定义域名
             9.RSS 修改记录输出
            10.自定义下载

二、他们之间的相同点

       1.GitHub,GitLab,Bitbucket都具有「发现」功能。
       2.拉取请求
       3.代码审查
       4.内联编辑
       5.问题跟踪
       6.Markdown支持
       7.双向认证
       8.高级权限管理
       9.托管的静态网页

三、他们之间的不同点

       1.GitHub的服务不是完全免费的,如果想要享受GitHub提供的所有功能,需要付费。而GitLab是免费的,这意味着用户可以拥有无限数量的私有存储库。BitBucket对于小团队免费,这意味着最多5名成员的团队将获得无限数量的免费存储库。

       2.这三个存储库管理服务中,只有GitLab是开源的。GitHub以开源友好而闻名,并且拥有最大数量(19.4M +)的开源项目但其本身不是开源的。BitBucket是不开源的,在购买托管服务的方案中提供了产品定制的功能。

       3.GitHub,GitLab,Bitbucket中除了 GitLab,每个都提供了「follow」功能。
       4.GitHub 的 Free Plans 允许托管无限的公有代码仓库,随时进行clone, fork 和 contribute,对磁盘使用没有限制。但是,项目不能超过 1 GB和单个文件不能超过 100 MB。

任务2:调研并试用广泛使用的源代码集成开发工具软件(Integrated Development Environment,IDE)

1.MyElipse

       MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse提供了对UML、Ajax、Web、Web Services、J2EE、JSP、 XML、 Struts、 JSF、 Java Persistence、 EJB、扩展数据库以及各种应用服务器的集成支持。MyEclipse也全面支持各种主流的第三方框架,让你能够快速高效地进行开发工作。此外,MyEclipse还全面支持各种基于Eclipse平台的插件,允许你自由定制或扩展个性化功能。MyEclipse全面支持Eclipse开源平台的所有功能特性。在结构上,MyEclipse的特征可以被分为7类:

       1. JavaEE模型
       2. WEB开发工具
       3. EJB开发工具
       4. 应用程序服务器的连接器
       5. JavaEE项目部署服务
       6. 数据库服务
       7. MyEclipse整合帮助

2.Microsoft Visual Studio(简称VS)

       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平台应用程序的集成开发环境。

       特点:

       1.支持Windows Azure,微软云计算架构迈入重要里程碑。
       2.助力移动与嵌入式装置开发,三屏一云商机无限。
       3.实践当前最热门的 Agile/Scrum 开发方法,强化团队竞争力。
       4.升级的软件测试功能及工具,为软件质量严格把关。
       5.创建美感与效能并重的新一代软件。
       6.支持最新C++标准,增强IDE,切实提高程序员开发效率。

3.Visual Studio

       Visual Studio 是微软公司推出的开发环境。是目前最流行的 Windows 平台应用程序开发环境。目前已经开发到 9.0 版本,也就是 Visual Studio 2008。Visual Studio 可以用来创建 Windows 平台下的 Windows 应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和 Office 插件。

4.HBuilderX

       HBuilderX是HBuilder的升级版。HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。 HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写。

       HBuilder和HBuilderX有什么区别?

              1. HBuilderX是基于C++重写的,性能更高、启动更快。
              2. 界面更漂亮
              3. vue、markdown、小程序等很多方面,HBuilderX都做的更好

5.PyCharm

       PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。

       特点:

       1.PyCharm拥有一般IDE具备的功能,比如, 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。
       2.PyCharm还提供了一些很好的功能用于Django开发,同时支持Google App Engine,更酷的是,PyCharm支持IronPython。

       主要功能:

       1.编码协助:其提供了一个带编码补全,代码片段,支持代码折叠和分割窗口的智能、可配置的编辑器,可帮助用户更快更轻松的完成编码工作。
       2.项目代码导航:该IDE可帮助用户即时从一个文件导航至另一个,从一个方法至其申明或者用法甚至可以穿过类的层次。若用户学会使用其提供的快捷键的话甚至能更快。
       3.代码分析:用户可使用其编码语法,错误高亮,智能检测以及一键式代码快速补全建议,使得编码更优化。
       4.Python重构:有了该功能,用户便能在项目范围内轻松进行重命名,提取方法/超类,导入域/变量/常量,移动和前推/后退重构。
       5.支持Django:有了它自带的HTML,CSS和 JavaScript编辑器 ,用户可以更快速的通过Django框架进行Web开发。此外,其还能支持CoffeeScript, Mako 和 Jinja2。
       6.支持Google App引擎:用户可选择使用Python 2.5或者2.7运行环境,为Google App引擎进行应用程序的开发,并执行例行程序部署工作。
       7.集成版本控制:登入,录出,视图拆分与合并--所有这些功能都能在其统一的VCS用户界面(可用于Mercurial, Subversion, Git, Perforce 和其他的 SCM)中得到。
       8.图形页面调试器:用户可以用其自带的功能全面的调试器对Python或者Django应用程序以及测试单元进行调整,该调试器带断点,步进,多画面视图,窗口以及评估表达式。
       9.集成的单元测试用户可以在一个文件夹运行一个测试文件,单个测试类,一个方法或者所有测试项目。
       10.可自定义&可扩展:可绑定了 Textmate, NetBeans, Eclipse & Emacs 键盘主盘,以及 Vi/Vim仿真插件。

6.Android studio

       Android Studio 是一个全新的 Android 开发环境,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。

       五个新的功能,包括优化小贴士、应用翻译服务、推荐跟踪、营收曲线图、用版测试和阶段性展示。主要功能:

       1、优化小贴士:在主体中打开你的应用,点击小贴士,会得到这样的建议:为你的应用开发平板电脑版本。
       2、应用翻译服务:允许开发者直接在开发主体中获得专业的翻译。上传你的需求,选择翻译,其会显示翻译方和价格,并在一周内发回译本。
       3、推荐跟踪:允许开发者找出最有效的广告
       4、营收曲线图:向开发者展示其应用营收,以国家进行划分
       5、试用版测试和阶段性展示:开发者可以对应用进行测试,然后向测试用户推出,测试结果不会对外公布。当一个版本的测试结束,开发者可以向特定比例用户推出。

7.NetBeans

       NetBeans是Sun公司(2009年被甲骨文收购)在2000年创立的开放源代码供开发人员和客户社区的家园,旨在构建世界级的Java IDE。NetBeans当前可以在Solaris、Windows、Linux和Macintosh OS X平台上进行开发,并在SPL(Sun公用许可)范围内使用。
       NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序,NetBeans IDE已经支持PHP、Ruby、JavaScript、Groovy、Grails和C/C++等开发语言。
       新功能:

       NetBeans IDE的7.0引入了对Java SE 7开发语言的支持,建议安装前首先安装JDK 7开发者预览版。该版本还提供了OracleWebLogic服务器中Oracle数据库和GlassFish3.1的进一步整合与支持。NetBeans 7.0的其他亮点包括提供Maven3和HTML5的编辑支持、使用新的GridBagLayout设计改进了Swing GUI的开发环境、并且增强了Java编辑器的功能等。

8.IntelliJ IDEA

       IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员是以严谨著称的东欧程序员为主。

       主要功能:

       ● 智能的选取
       ● 丰富的导航模式
       ● 历史记录功能
       ● JUnit的完美支持,JUnit是一个Java语言的单元测试框架。
       ● 对重构的优越支持
       ● 编码辅助
       ● 灵活的排版功能
       ● XML的完美支持
       ● 动态语法检测
       ● 代码检查

       优点:

       最突出的功能自然是调试(Debug),可以对Java代码,JavaScript,JQuery,Ajax等技术进行调试。

       缺点:

       1.插件开发匮乏,比起Eclipse,IDEA只能算是个插件的矮子,目前官方公布的插件不足400个,并且许多插件实质性的东西并没有,可能是IDEA本身就太强大了。
       2. 在同一页面中只支持单工程,这为开发带来一定的不便,特别是喜欢开发时建一个测试工程来测试部分方法的程序员带来心理上的不认同。
       3. 匮乏的技术文章,目前网络中能找到的技术支持基本没有,技术文章也少之又少。
       4. 资源消耗比较大,建个大中型的J2EE项目,启动后基本要200M以上的内存支持,包括安装软件在内,差不多要500M的硬盘空间支持。(由于很多智能功能是实时的,因此包括系统类在内的所有类都被IDEA存放到IDEA的工作路径中)。

9.Code:: Blocks

       Code::Blocks是一个开源、免费、跨平台的C++集成开发环境。可扩展插件,有插件向导功能,让你很方便的创建 自己的插件。Code::Blocks是用C++编写的(用wxWidgets库),捆绑了MinGW编译器。

       主要特点:
           1.跨平台
           2.提供了许多工程模板
           3.支持语法彩色醒目显示
           4.支持插件
           5.具有灵活而强大的配置功能
           6.基于wxWidgets开发

任务3:练习使用typora进行MarkDown格式博客的本地编辑和实时预览。

        Typora 是一款简单、高效而且非常优雅的 Markdown 编辑器,它提供了一种所见即所得的全新的 Markdown 写作体验。Typora 把源码编辑和效果预览两者合二为一,在输入 Markdown 代码的时候即时生成预览效果。Typora 是目前互联网上最受欢迎的 Markdown 编辑器之一。




任务4:总结

        通过本次的实验,首先了解GitHub、Gitlab、Bitbucke等基于源代码版本管理软件Git的项目管理工具之间的异同。接着又尝试试用广泛使用的源代码集成开发工具软件。对于九种软件进行了了解和熟悉,具体使用情况希望在后期学习过程中得到进一步的理解。

posted @ 2021-03-17 11:57  201870020103-崔梦涛  阅读(183)  评论(5编辑  收藏  举报