201871030104-常祺 常用源代码管理工具与开发工具
项目 | 内容 |
---|---|
班级博客链接 | https://edu.cnblogs.com/campus/xbsf/2018CST |
这个作业要求的链接 | nwnu-daizh |
我的学习目标 | (1)了解软件项目源代码常用管理工具。 (2)了解软件项目源代码常用集成开发软件工具。 |
这个作业在哪些方面帮助我实现学习目标 | (1)知道一些源代码常用管理工具和常用集成开发软件工具 。 (2)使用typora进行MarkDown格式博客的本地编辑和实时预览,使博客排版美观。 |
任务一 调研源代码版本管理软件
1.Github
GitHub 是第一个供“用Git进行版本控制系统的软件开发项目”使用的基于Web的代码托管服务,是目前全球最大的开源社交编程及代码托管网站。GitHub 于 2008 年 4 月 10 日正式上线,除了基本的服务以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。
2.BitBucket
BitBucket 是 2008 年创建的源代码托管网站,采用 Mercurial 和 Git 作为分布式版本控制系统,同时提供免费账户和商业计划。2010 年被 Atlassian 收购,与 Atlassian 的其他服务(Git GUI SourceTree、HipChat、Cloud9)顺利集成,主要面向慈善企业和企业用户/其主要市场是大型企业。
3.GitLab
GitLab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。
4.Coding
Coding 是一个面向开发者的云端开发平台,目前提供代码托管,运行空间,质量控制,项目管理等功能。此外,还提供社会化协作功能,包含了社交元素,方便开发者进行技术讨论和协作。2016 年 3 月 CODING 宣布收购代码托管平台 GitCafe。也许是目前国内体验最接近 github 的产品。
5.它们共同的一些基础特征
关于这 4 大代码托管服务平台有着各自不同的功能,但也是有一些基础特点,比如:
(1)拉取请求
(2)代码审查
(3)内联编辑
(4)问题跟踪
(5)Markdown支持
(6)双向认证
(7)高级权限管理
(8)托管的静态网页
(9)功能丰富的API
(10)Fork / Clone Repositories
(11)代码段
(12)第三方集成
6.它们的一些区别
(1)是否开源
在这四家代码托管服务,只有 GitLab 有一个开源代码版本。GitLab 社区版的源代码也开放在他们的网站上。Bitbucket也不是开源的,但在购买托管服务的方案中提供了「产品定制」的功能。Coding 同样也不是开源的,不过 ,9月中旬 Coding 宣布开放 WebIDE 的源代码。
(2)导入的代码仓库类型
某种意义上,分布式版本控制系统决定了选择哪个代码存储服务,Bitbucket 在这方面脱颖而出,因为这是唯一同时支持 Mercurial.Coding,GitHub 和 Bitbucket 支持导入基于多个不同 VCS 的 repos,而 GitLab 只支持 Git。毫无疑问,Git 是目前最受欢迎的 VCS,但如果你正在使用 Mercurial 或 SVN 存储库,那么迁移至 GitLab 可能会很复杂。GitLab 提供了简单方便的方式,用于从 GitHub 或其他平台上导入代码仓。
(1)GitHub 支持:导入Git,SVN,HG,TFS。
(2)GitLab 支持:导入Git,更容易从其他服务导入GitHub,Bitbucket,Google code,Fogbugz。
(3)Coding 支持:导入Git,SVN,HG。
(4)Bitbucket支持:导入Git,CodePlex,Google Code,HG,SourceForge,SVN。
7.关于它们的使用选择的总结
(1)如果你想要一个免费开源的解决方案,GitLab 也许比较吸引人;
(2)如果你正在开发一个开源项目想取得更多的关注,那 GitHub 毫无疑问是第一选择;
(3)如果你想要免费的私有库,并在使用 Atlassian 的其他产品(例如:Confluence,Jira, SourceTree…),代码托管在 Bitbucket 绝对用起来会很爽;
(4)如果你想要免费私有代码仓库,想获得更多的中文支持或正在使用 Coding WebIDE,Coding 明显更适合。
如果这 4 个代码托管服务都不是你所需要的,可以再看看国外的Assembla、CloudForge、gogs ,国内的 code.csdn、git@osc、集盒、TaoCode 等服务。
任务二 调研并试用广泛使用的源代码集成开发工具软件(Integrated Development Environment,IDE)
1.myeclipse
Eclipse是用于Java开发的最流行的IDE之一。目前版本为4.7.3(Oxygen),可用于各种平台,包括Linux,Mac和Windows。Eclipse的一个主要特性是它内置的增量编译器。它会在你键入时识别错误,这可能非常有用。Eclipse提供适用于JavaEE,Java,C++和PHP开发人员的各种IDE包,使你可以使用IDE的多种语言。
(1)当你谈论服务器支持时,Eclipse可以轻松支持大多数Java服务器,包括JBoss,WildFly和Tomcat。此外,它具有强大的插件支持,使其能够支持超过一百种编程语言和超过两倍的框架。Eclipse支持本地和远程的调试,且相当简单。
(2)在文档方面,Eclipse提供了大量文档和出色的产品支持。而且它是免费和开源的。使用Eclipse的优点和缺点。
(3)Eclipse具有一些很棒的功能,如代码完成,语法检查以及对重构应用程序的强大支持。然而,在缺点方面,Eclipse有时可能是一个插件噩梦。各种插件需要运行相同插件的不同版本,原因各不相同。
(4)核心Eclipse版本的相同插件不适用于所有内容。这可能会非常烦人。
2.lntelliJ IDEA
IntelliJ是最受欢迎的Java lDE之一。IntelliJ IDEA目前在2018.1.1版本中经过精心设计,旨在最大限度地提高开发人员的工作效率,同时使其成为一种愉快的体验。这个IDE是跨平台的,因此它包含两个版本:社区和最终版。Community Edition适用于JVM不Androla上的开反,取终hh目V近中企业应用程序开发。社区版支持Scala,Kotlin,Java以及Git,SVN和CVS等。另一方面,最终版也支持JavaScript和TypeScript,JavaEE和Spring,Vaadin,Grails,Play,SQL数据厍和其他框柴。IntellJ IDEA为调试应用程序提供了极好的支持,并且有许多可能对你有用的插件。有很棒的文档可以帮助你开始使用该工具。社区版免费,而最终版则收费500美元/年。
使用IntelliJIDEA的优点和缺点:
使用IntelliJ IDEA的一个主要优点是它带来了一些非常酷的高级功能,GraaleA建系统。不利的是,最终版相当昂贵。此外,社区支持并不是那么好,因为它只是开放核心而不是完全开源。这意味着你将没有像其他IDE一样多的插件。
3.NetBeans
NetBeans是Java开发中使用的最古老的IDE之一。它也是全球数千名开发人员使用的官方Java IDE,但那是在其他IDE开始支持Java 8之前。目前在8.2版本上,NetBeans是一个跨平台的IDE,可以很好地与Windows等平台一起使用,Mac,Linux等。它对JavaScript,PHP,Groovy,C ++等各种语言有很好的支持。
可能使NetBeans成为Eclipse的首选功能之一是它为MySQL,Oracle和PostgreSQL提供了驱动程序的数据库支持。其数据库资源管理器使你可以轻松创建,修改和删除表和数据库。NetBeans的插件数量也少于Eclipse,但它们的安装和使用非常简单。NetBeans为Spring,JSF,Hibernate,Swing,JavaFX等框架提供了很好的支持,尽管没有Eclipse那么多。在"编辑支持"方面,它提供了出色的错误检测和智能代码完成。它的调试器和分析器也值得一提,并增加了使用IDE的乐趣。最后,NetBeans具有良好的文档和社区支持,可供开发人员免费使用。
使用NetBeans的优点和缺点:
从积极的方面来说,使用插件时,NetBeans要好得多。另一方面,有些人可能会同意NetBeans上的调试器有时会很痛苦,很慢。
4.Android Studio
Android Studio是Android开发的官方IDE。这个IDE有什么好处,它基于IntelliJ IDEA!目前在版本3中,该工具构建快速且功能丰富。
在语言方面,还支持Java,Kotlin和C++以及NDK。它提供了一些很棒的功能,例如适用于所有Android设备的统一开发环境,广泛的测试工具(如JUnit和框架),内置的GCP支持等等。它适用于Windows,Mac以及Linux平台。IDE提供了出色的自定义选项,还允许你通过检查APK文件的内容来减小Android应用程序的大小。
它可以免费下载和使用,但需要一次性开发人员许可费,才能将你的应用推送到Google Play商店。
使用Android Studio的优缺点:
由于它专为Android而构建,因此可以期待对Gradle的大力支持。从缺点方面来看,有些人可能会同意自动导入Java类是一件痛苦的事。由于它是用Java编写的,因此有时会感觉很慢。
5.Code:: Blocks
作为一款C++的IDE,Code::Blocks的优点有以下几条。
(1)开源:开源不仅仅意味着免费,但就算是仅仅是免费这一点,就非常重要了。
(2)跨平台——可以跨Linux和Windows平台。
(3)支持多编译器——包括Borland C++,、VC++、Inter C++等等超过20个不同产家或版本编译器支持。无特定要求下,我还是主要用g++。配对的,调试器也是支持多种。
(4)插件式的框架——插件式的集成开发环境,最著名的是Java编程工具Eclipse了,这种方式让一款IDE保留了良好的可扩展性,应该说,作为一款开源的IDE,这是最合理的选择。Code::Blocks很多核心功能,包括“调试功能”,都通过插件来实现。
(5)经常更新——几乎每个月都会有更新。开源软件最怕的就是不更新了。
(6)内嵌可视设计——和大家熟悉的VB、Delphi/C++Builder相比,它的可视窗口设计器,其“傻瓜性”差了一大截,其主要原因在在主流的跨平台图形窗口的定位体系,都是采用定位“容器”来实现的,这一点一开始会不太习惯,但在熟悉之后,设计各种对话框,也非常直观。一点点不直观,换来的是你的程序很容易迁移到别的操作系统,同时还让你对窗口设计更深入了,倒也值。
6.Visual Studio
Visual Studio 集成开发环境是一种创新启动板,可用于编辑、调试并生成代码,然后发布应用。集成开发环境 (IDE) 是一个功能丰富的程序,可用于软件开发的许多方面。除了大多数IDE提供的标准编辑器和调试器之外,Visual Studio 还包括编译器、代码完成工具、图形设计器和许多其他功能,以简化软件开发过程。
7.HBuilder
HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写,它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。快,是HBuilder的最大优势,通过完整的语法提示和代码输入法、代码块等,大幅提升HTML、js、css的开发效率。
8.PyCharm
PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
9对IDE使用及开发工具的心态和原则:
个人对待IDE的使用及开发工具的心态和原则:开放与包容!切记忌于某个开发工具使用习惯而依赖之,需知工具都是达到某个阶段性目标的一种快速手段,而其使用过程并不影响技术本身。因为IDE提高的是效率并不能改变开发技术原理和开发工作质量本质。故为了防止自己平时不经意的养成对某个IDE的依赖心理,和形成只熟悉某个开发工具的使用的不良习惯。
任务三 练习使用typora进行MarkDown格式博客的本地编辑和实时预览,编辑完成后复制到博客园中
如图所示: