201871030139-于泽浩 常用源代码管理工具与开发工具
201871030139-于泽浩 常用源代码管理工具与开发工具
项目 | 内容 |
---|---|
课程班级博客连接 | 2018级卓越班 |
这个作业要求连接 | 常用源代码管理工具与开发 |
我的课程学习目标 | (1)了解软件项目与源代码常用管理工具; (2)了解软件项目与源代码常用集成开发软件工具; (3)下载学习使用Typora来本地编辑博客。 |
这个作业在哪些方面帮助我实现学习目标 | (1)调研了解软件项目与源代码常用管理工具的过程; (2)调研了解源代码常用集成开发软件工具的过程; (3)使用Typora本地编辑的过程 。 |
实验内容
任务一:调研源代码版本管理软件
-
管理工具简介
-
GitHub简介
- GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。
- GitHub是一个Git的服务器提供商,帮助我们共享代码(托管代码),也是一个开源平台。
-
GitLab简介
- GitLab是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
- 可通过web界面进行访问公开的或者私人项目。
-
Bitbucket简介
- Bitbucket是一家源代码托管网站,采用mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户。
-
-
上述三者之间的优缺点
管理工具 优 点 缺 点 GitHub 1、错误跟踪,此功能属于协作功能,可以通过在项目中检测到软件错误来提高代码质量;
2、快速搜索,存储提供方便的项目结构,允许有效的搜索和排列;
3、共享,项目源代码不仅可以使用Git进行复制,还可以作为归档下载;
4、协作开发,GitHub为团队管理提供了高效的功能;
5、兼容性,源代码位于GitHub的项目可以轻松地定制到任何云主机服务;
6、支持Git,SVN,HG,TFS导入;1、GitHub的服务不是完全免费的,如果想要享受GitHub提供的所有功能,需要付费;
2.大小限制:文件大小不能超过100Mb,存储库可以托管信息1Gb;GitLab 1、免费,这意味着用户可以拥有无限数量的私有存储库;
2、GitLab在开源许可证下运行;
3、错误跟踪和基于Web的代码编辑;
4、与LDAP(轻量级目录访问协议)集成,允许在Interneft上定位和访问各种资源;
5、GitLab EE支持多种LDAP服务和组同步;
6、支持Git导入 ;1、界面相对较慢;
2、存储库常见的技术问题;Bitbucket 1、对于小团队免费,这意味着最多5名成员的团队将获得无限数量的免费存储库;
2、一个集成的查询管理系统;
3、通过社交媒体和GitHub认证;
4、集成Jira工具。BitBucket和Jira在整个开发阶段都做了整合,通过集成的错误跟踪组件,JIRA自动更新有关检测到的问题的信息;
5、导入现有Git项目;
6、支持Git,CodePlex,Google Code,HG,SourceForge,SVN导入;1、不开源;
2、系统不稳定 ; -
选择方案
如前文所述,每个存储库都有其优缺点,也都有广大的程序员基础。这三个存储库管理服务中,只有GitLab是开源的。GitLab社区版的源代码在他们的网站上可用,企业版本是专有的。拥有最大数量的开源项目的GitHub本身不是开源的。Bitbucket也不是开源的,但是购买stand-alone 版本时,将提供完整的源代码与产品配置选项。
综合多种情况,选择建议:
- 如果需要开源解决方案,请选择GitLab 。
- 如果喜欢使用Atlassian服务,BitBucket 是最佳选择。
- GitHub 是承载开源代码项目的领先平台
任务2:调研并试用广泛使用的源代码集成开发工具软件
作为一名软件/程序开发人员,不管你使用哪门语言进行源代码开发都有很多可供选择的IDE,IDE是提供软件/程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具,集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套件,开发者可以通过IDE提供的代码高亮,代码补全和提示,语法错误提示,函数追踪,断点调试等功能提高开发效率。上网调研并试用包括MyElipse、Visual Studio 、HBuilderX、Microsoft Visual Studio(简称VS)、PyCharm、Android studio、NetBeans、IntelliJ IDEA、Code:: Blocks等IDE,结合调研资料和使用体验概括总结以上IDE的功能特色。
-
集成开发工具软件简介
- My Eclipse
- Myeclipse是在eclipse 基础上加上自己的插件开发而成的基于Java的可扩展开发平台。
- Visual Studio
- Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。
- HBuilderX
- HBuilderX,H是HTML的首字母,Builder是构造者,X是HBuilder的下一代版本。我们也简称HX。
HX是轻如编辑器、强如IDE的合体版本。
- HBuilderX,H是HTML的首字母,Builder是构造者,X是HBuilder的下一代版本。我们也简称HX。
- Microsoft VisualStudio(简称VS)
- Microsoft VisualStudio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。
- PyCharm
- PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。
- Code::Blocks
- Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境。 Code::Blocks是开放源码软件。Code::Blocks由纯粹的C++语言开发完成,它使用了著名的图形界面库wxWidgets(3.x)版。
- 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是Sun公司(2009年被甲骨文收购)在2000年创立的开放源代码供开发人员和客户社区的家园,旨在构建世界级的Java IDE。NetBeans当前可以在Solaris、Windows、Linux和Macintosh OS X平台上进行开发,并在SPL(Sun公用许可)范围内使用。
- Android Studio
- Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
- IntelliJ IDEA
- IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java,Kotlin等少数语言。
- My Eclipse
-
上述部分IDE各自优缺点
IDE名称 优 点 缺 点 Myeclipse 1、基本可以实现java方面的所有开发功能;
2、新手可以用myeclipse没什么问题,很多插件,很简单 ;1、myeclipse版本是收费的;
2、在图形化插件集成方面还是不够成熟;Visual Studio 1、逻辑模型和往返工程,强健而灵活的软件建模;
2、UML 支持;
3、强大的语义错误检查功能简化了创建完全兼容模型的过程;1、界面设计没有充分考虑空间占用;
2、输出显示过于单调;
3、跟踪活动项不方便;
4、设置代码格式不够灵活;HBuilderX 1、一套代码,多端运行,可以同时生成ios,Android,H5,微信小程序,支付宝小程序,百度小程序;
2、代码实现简单,开发快速,官网提供很多组件,可以直接拿来用;
3、uniapp开发体验对前端人员十分友好,首先uni-app是基于vue.js的,其次和微信小程序的开发方式类似;
4、突破了系统对H5调用原生功能的限制,比如使用uniapp结合HTML5plus能调用系统相册图片选择和拍照等;1.uni-app问世的时间还比较短,有很多地方还不是完善,坑很多;
2、对于使用中的一些bug及问题,官方回应的不是很及时;PyCharm 1、PyCharm 支持 web 开发框架,如 Pyramid、Flask 和 Django;
2、提供智能代码功能,可以执行更精确、快速的 bug 修复;
3、在 Docker 和 Vagrant 连接和 ssh 终端的帮助下,允许在远程主机上进行程序开发;1、界面庞杂;
2、其优点的成本高昂;Code::Blocks 1、Code::Blocks提供了许多工程模板;
2、Code::Blocks支持语法彩色醒目显示,支持代码完成(目前正在重新设计过程中)支持工程管理、项目构建、调试;
3、Code::Blocks支持插件;1、文件编码识别问题,经常把含有中文字符的 windows 936 编码格式代码文件识别/保存为 kor 之类的编码格式; NetBeans 1、NetBeans 基本上都是在线文档,有联机帮助、IDE使用指南、快速学习指南、支持和文档,另外还具有Javadoc文档索引搜索功能;
2、NetBeans 主界面的中文化程度相当高。在线文档也提供了中文版;
3、直接提供了为程序增加国际化支持的功能;1、NetBeans 由于采用了纯Java开发并以Swing库编写GUI,因此界面色调偏暗,使用起来跟本机程序感觉不同;
2、使用JDK1.5.0版加载,其增强的Swing库会让NetBeans的界面看起来舒服不少;IntelliJ IDEA 1、编辑HTML、js不那么卡,而且js声明定位比较准确;
2、自动反编译;
3、debug的时候不会像eclipse那样有时候找不到源码。;1、吃内存;
2、svn插件不如eclipse,project窗口没有svn信息(最后提交人等);
3、module上的右键菜单有时候太长,超过了屏幕无法显示;
任务3:使用Typora撰写任务1和任务2
- 使用Typora撰写博客