201871030107-常雅伦 常用源代码管理工具与开发工具
项目 | 内容 |
---|---|
课程班级博客链接 | 班级博客 |
这个作业要求链接 | 作业要求 |
我的课程学习目标 | 1.了解软件项目源代码常用管理工具,明白他们之间各自的优缺点,熟练运用这些管理工具。 2.了解软件项目源代码常用集成开发软件工具,熟练运用不同的软件开发工具完成软件工程代码的编写。 |
这个作业在哪些方面帮助我实现学习目标 | 通过了解比较软件项目源代码常用管理工具以及件项目源代码常用集成开发软件工具他们之间各自的优缺点,在软件开发过程中可以更加准确的知道自己需要什么样的工具. |
任务一:调研源代码版本管理软件
上网调研目前被广泛使用的基于源代码版本管理软件Git的项目管理工具,如GitHub、GitLab、BitBucket 等,比较它们之间的异同(包括但不限于团队协作流程,项目管理等)。
1.管理工具简介
- GitHub
- GitHub 是第一个供“用Git进行版本控制系统的软件开发项目”使用的基于Web的代码托管服务,是目前全球最大的开源社交编程及代码托管网站。GitHub 于 2008 年 4 月 10 日正式上线,除了基本的服务以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。
- GitLab
- GitLab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。
- BitBucket
- BitBucket 是 2008 年创建的源代码托管网站,采用 Mercurial 和 Git 作为分布式版本控制系统,同时提供免费账户和商业计划。2010 年被 Atlassian 收购,与 Atlassian 的其他服务(Git GUI SourceTree、HipChat、Cloud9)顺利集成,主要面向慈善企业和企业用户/其主要市场是大型企业。
2.基本特征
- 关于这三个源代码常用管理工具有着各自不同的功能,但也是有一些基础特点,比如:
- 拉取请求
- 代码审查
- 内联编辑
- 问题跟踪
- Markdown支持
- 双向认证
- 高级权限管理
- 托管的静态网页
- 功能丰富的API
- Fork / Clone Repositories
- 代码段
- 第三方集成
3.三个工具的优缺点
管理工具 | 优点 | 缺点 |
---|---|---|
GitHub | 1.错误跟踪,此功能属于协作功能,可以通过在项目中检测到的软件错误记录来提高代码质量。 2.快速搜索,存储库提供方便的项目结构,允许有效的搜索和排序。 3.社区,这个世界范围内极大的开发团队是共享经验和技能的重要来源,用户可以进行沟通,评论,编辑和跟踪新闻。 4.共享,项目源代码不仅可以使用Git进行复制,还可以作为归档下载。 5.协作开发,GitHub为团队管理提供了高效的功能。 6.兼容性,源代码位于GitHub的项目可以轻松地定制到任何云主机服务。 7.支持Git,SVN,HG,TFS导入。 |
1.GitHub的服务不是完全免费的,如果想要享受GitHub提供的所有功能,需要付费。 2.大小限制:文件大小不能超过100Mb,存储库可以托管信息1Gb。 |
GitLab | 1.免费,这意味着用户可以拥有无限数量的私有存储库。 2.GitLab在开源许可证下运行。 3.错误跟踪和基于Web的代码编辑。 4.与LDAP(轻量级目录访问协议)集成,允许在Internet上定位和访问各种资源。 GitLab EE支持多种LDAP服务和组同步。 5.支持Git导入 |
1.界面相对较慢。 2.存储库常见的技术问题。 |
BitBucket | 1.对于小团队免费,这意味着最多5名成员的团队将获得无限数量的免费存储库。 2.一个集成的查询管理系统。 3.通过社交媒体和GitHub认证。 4.集成Jira工具。 5.导入现有Git项目。 6.支持Git,CodePlex,Google Code,HG,SourceForge,SVN导入。 |
1.不开源。 2.系统不稳定 |
4.总结
基于上面的介绍和比较,对于这三个工具,功能最强大的,性价比最高的,最受欢迎的都不是最好的。在特定情况下,在只有适合自己的才是最好的。那么通过对比,我们也可以得到一些基础的实际的结论:
1.如果你想要一个免费开源的解决方案,GitLab 也许比较吸引人;
2.如果你正在开发一个开源项目想取得更多的关注,那 GitHub 毫无疑问是第一选择;
3.如果你想要免费的私有库,并在使用 Atlassian 的其他产品(例如:Confluence,Jira, SourceTree…),代码托管在 Bitbucket 绝对用起来会很爽;
如果这三个工具都不是你所需要的,可以再看看国外的Assembla、CloudForge、gogs ,国内的 code.csdn、git@osc、集盒、TaoCode 等服务。
任务二:调研并试用广泛使用的源代码集成开发工具软件(Integrated Development Environment,IDE)
作为一名软件/程序开发人员,不管你使用哪门语言进行源代码开发都有很多可供选择的IDE,IDE是提供软件/程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具,集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套件,开发者可以通过IDE提供的代码高亮,代码补全和提示,语法错误提示,函数追踪,断点调试等功能提高开发效率。上网调研并试用包括MyElipse、Visual Studio 、HBuilderX、Microsoft Visual Studio(简称VS)、PyCharm、Android studio、NetBeans、IntelliJ IDEA、Code:: Blocks等IDE,结合调研资料和使用体验概括总结以上IDE的功能特色。
- MyElipse
- MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。
MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse可以支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了所有主流开源产品的专属eclipse开发工具。
- MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。
- Visual Studio
- Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。
- HBuilderX
- HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写。
它基于Eclipse,所以顺其自然地兼容了Eclipse的插件。 - 特点:快,是HBuilder的最大优势,通过完整的语法提示和代码输入法、代码块等,大幅提升HTML、js、css的开发效率。
- HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。HBuilder的编写用到了Java、C、Web和Ruby。HBuilder本身主体是由Java编写。
- 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。
- 特点: 1.支持Windows Azure,微软云计算架构迈入重要里程碑。2.助力移动与嵌入式装置开发,三屏一云商机无限。3.实践当前最热门的 Agile/Scrum 开发方法,强化团队竞争力。4.升级的软件测试功能及工具,为软件质量严格把关。5.搭配Windows 7,Silverlight4 与 Office,发挥多核并行运算威力,创建美感与效能并重的新一代软件。6.支持最新C++标准,增强IDE,切实提高程序员开发效率。
- PyCharm
- PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
- 特点:PyCharm拥有一般IDE具备的功能,比如, 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制;另外,PyCharm还提供了一些很好的功能用于Django开发,同时支持Google App Engine,更酷的是,PyCharm支持IronPython。
- Android studio
- Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
- NetBeans8.IntelliJ IDEA
- IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java,Kotlin等少数语言。
- Code:: Blocks
- Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境。 Code::Blocks是开放源码软件。Code::Blocks由纯粹的C++语言开发完成,它使用了著名的图形界面库wxWidgets(3.x)版。对于追求完美的C++程序员,再也不必忍受Eclipse的缓慢。
任务三:撰写任务1、任务2相关内容博客
练习使用typora进行MarkDown格式博客的本地编辑和实时预览,编辑完成后复制到博客园中。