项目 | 内容 |
课程班级博客链接 | https://home.cnblogs.com/u/wanghuijuan815 |
这个作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/14521534.html |
我的课程学习目标 | (1)了解软件项目源代码常用管理工具 (2)了解软件项目源代码常用集成开发软件工具 |
这个作业在哪些方面帮助我实现学习目标 | (1)了解了基于源代码版本管理软件Git的项目管理工具 (2)主要了解GitHub、Gitlab、Bitbucket的特点安装并初次体验使用 (3) 比较了GitHub、Gitlab、Bitbucket它们之间的异同 (4)结合调研资料和使用体验概括总结一些IDE的功能特色 |
任务1:
调研源代码版本管理软件
上网调研目前被广泛使用的基于源代码版本管理软件Git的项目管理工具,GitHub、Gitlab、Bitbucket 等,比较它们之间的异同(包括但不限于团队协作流程,项管理等)
-
Git
Git是一个版本控制系统(Version Control System,VCS)。版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统(通俗讲它能够能记录你文件的每一次改动,还可以让同事协作编辑)
-
GitHub
GitHub 于 2008 年 4 月 10 日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。GitHub 是一个面向开源及私有软件项目的托管平台,只支持 Git 作为唯一的版本库格式进行托管。
特点:GitHub的独特点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的"fork"的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的"pull request"机制向项目负责人申请代码合并。 -
Gitlab
GitLab是由GitLabInc.开发,gitlab 是一个基于git实现的在线代码仓库软件,提供web可视化管理界面,通常用于企业团队内部协作开发,且具有wiki和issue跟踪功能。
-
Bitbucket
BitBucket 是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户。特点:用户可以有无限制的私有仓库个数和无限制的磁,盘空间同时支持https/ssh,Bug 跟踪
GitHub、Gitlab、Bitbucket 它们之间的异同
-
相同点:拉取请求,代码审查, 内联编辑,问题跟踪,Markdown支持,双向认证,高级权限管理,托管的静态网页,功能丰富的API,代码段,第三方集成。
-
不同点:
(1)GitHub 以开源友好而闻名,并且拥有最大数量的开源项目但其本身不是开源的。
Bitbucket也不是开源的,但在购买托管服务的服务中提供了产品定制的功能。(2)除了 GitLab,其他两个都提供了「follow」功能。
(3)布式版本控制系统决定了选择哪个代码存储服务,Bitbucket 在这方面脱颖而出,因为这是唯一同时支持 Mercurial,GitHub 和 Bitbucket 支持导入基于多个不同 VCS 的 repos,而 GitLab 只支持 Git。
(4)GitHub、Gitlab、Bitbucket服务提供商都提供免费计划,但是有差异。比如:GitHub 的 Free Plans 允许托管无限的公有代码仓库,随时进行clone, fork 和 contribute,对磁盘使用没有限制。但是有大小限制。Bitbucket 的 Small teams plan 允许 5 个成员加入,公有/私有仓库均免费。当项目大快到达 1GB 时,会有邮件通知。GitLab 的 cloud-hosted plan 允许无限数量的用户在无限数量的公共和私有项目上进行协作,并且每个存储库有 10GB 的空间限制。
-
任务2:
调研并试用广泛使用的源代码集成开发工具软件
MyElipse、Visual Studio 、HBuilderX、Microsoft Visual Studio(简称VS)、PyCharm、Android studio、NetBeans、IntelliJ IDEA、Code:: Blocks等IDE,以上IDE的功能特色。
- MyElipse
MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse也全面支持各种主流的第三方框架,让你能够快速高效地进行开发工作。MyEclipse还全面支持各种基于Eclipse平台的插件,允许你*定制或扩展个性化功能。
-
HBuilderX
HBuilder是数字天堂推出的一款支持HTML5。 HBuilder的编写用到了Java、c、Web和Ruby。HBuilder本身主体是由Java编写。
它基于Eclipse,所以顺其自然地兼容了Eclipse。快,是HBuilder的最大优势,通过完整的语法提示和代码输入法、代码块等,大幅提升HTML、js、css的开发效率
-
VS
Microsoft Visual Studio是美国微软公司的开发工具包系列产品。VS是一个基本完整ure,微软云计算架构迈入重要里程碑;助力移动与嵌入式装置开发,三屏一云商机无限;实践当前最热门的 Agile/Scrum 开发方法,强化团队竞争力;升级的软件测试功能及工具,为软件质量严格把关;搭配Windows 7,Silverlight4 与 Office,发挥多核并行运算威力,创建美感与效能并重的新一代软件;支持最新C++标准,增强IDE,切实提高程序员开发效率。
-
PyCharm
PyCharm是一款Python的IDE的编辑工具,它是由Jetbrains出品的产品。其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如, 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等等。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。同时支持Google App Engine,PyCharm支持IronPython!
-
NetBeans
Netbeans按照Project组织代码,每个可执行的Java程序都是一个Project。NetBeans项目由一个活跃的开发社区提供支持,NetBeans是开源软件开发集成环境,是一个开放框架,可扩展的开发平台,可以用于Java、C/C++,PHP等语言的开发,。本身是一个开发平台,可以通过扩展插件来扩展功能。
-
IntelliJ IDEA
IDEA是JetBrains公司的产品,IDEA所提倡的是智能编码,是减少程序员的工作,特点功能:智能的选取,丰富的导航模式,历史记录功能对重构的优越支持,编码辅助,灵活的排版功能,动态语法检测,代码检查等等。最突出的功能自然是调试。
-
Code::Blocks
Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境。 Code::Blocks是开放源码软件。Code::Blocks由纯粹的C++语言开发完成。虽然Code::Blocks从一开始就追求跨平台目标,但是最初的开发重点是Windows平台。Code::Blocks提供了许多工程模板。Code::Blocks支持语法彩色醒目显示,支持代码完成,支持工程管理、项目构建、调试。Code::Blocks支持插件。Code::Blocks具有灵活而强大的配置功能,除支持自身的工程文件、C/C++文件外,还支持批处理、CSS文件、D语言文件、Diff/Patch文件等。
-
IDE的功能特色
集成开发环境(简称IDE Integrated Develop Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面工具。就是集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套都可以叫做集成开以环境。