201871030114-蒋鑫 常用源代码管理工具与开发工具
| 项目 | 内容 |
| ---- | ---- | ---- |
| 课程班级博客链接 | 班级博客 |
|这个作业要求链接|作业要求|
|我的课程学习目标|1. 了解软件项目源代码常用管理工具。
2.了解软件项目源代码常用集成开发软件工具。 |
|这个作业在哪些方面帮助我实现学习目标|1. 认识并尝试了以前没有使用过的软件项目源代码常用管理工具
2. 对源代码版本管理软件有所了解
3.练习使用了typora进行MarkDown格式博客的本地编辑和实时预览|
实验内容
任务1: 调研源代码版本管理软件
1. Github
GitHub是git存储库和协作项目开发的首选网站。该系统旨在允许用户轻松创建基于Git的特殊版本控制系统。为什么这么受欢迎?Git通过非线性开发历史的可视化工具和导航工具的帮助,支持流畅的版本合并和分割。现在,GitHub拥有5000多万个开源项目。
优点:
- 错误跟踪:此功能属于协作功能,可以通过在项目中检测到的软件错误记录来提高代码质量。
- 快速搜索:存储库提供方便的项目结构,允许有效的搜索和排序。此外,功能良好的SEO允许用户在公共存储库中找到任何代码字符串。
- 社区:截至2017年4月,GitHub的用户数量已经超过2000万。这个世界范围内极大的开发团队是共享经验和技能的重要来源。用户可以进行沟通,评论,编辑和跟踪新闻。
- 共享:项目源代码不仅可以使用Git进行复制,还可以作为归档下载。
- 协作开发:GitHub为团队管理提供了高效的功能。
- 兼容性:源代码位于GitHub的项目可以轻松地定制到任何云主机服务
- 支持Git,SVN,HG,TFS导入。
缺点:
- GitHub的服务不是完全免费的,如果想要享受GitHub提供的所有功能,需要付费。
- 大小限制:文件大小不能超过100Mb,存储库可以托管信息1Gb。
2. Bitbucket
BitBucket服务也非常类似于GitHub,但是它的大部分功能也略有不同。BitBucket最适合小型开发团队,随着团队的成长,BitBucket提供了与GitHub和GitLab相比更温和的定价条件。BitBucket还为团队提供了灵活的部署模式。
优点:
- 对于小团队免费,这意味着最多5名成员的团队将获得无限数量的免费存储库。
- 一个集成的查询管理系统。
- 通过社交媒体和GitHub认证。
- 集成Jira工具。BitBucket和Jira在整个开发阶段都做了整合,通过集成的错误跟踪组件,JIRA自动更新有关检测到的问题的信息。
- 导入现有Git项目。
- 支持Git,CodePlex,Google Code,HG,SourceForge,SVN导入。
缺点:
- 不开源
- 系统不稳定
3. GitLab
GitLab服务也是基于Git版本控制开发的。尽管GitLab功能与其主要竞争对手GitHub类似,但仍有一些主要特点。GitLab有几种不同的形式,如适用于企业的GitLab SAAS,以及用户的个性化解决方案GitLab Community Edition。
优点:
- 免费,这意味着用户可以拥有无限数量的私有存储库。当然为了满足客户要求,GitLab也有企业版,在其基本功能之上增加了一些额外的功能,从而改善了与在线工具,工作流和服务器管理等的交互。
- GitLab在开源许可证下运行。
- 错误跟踪和基于Web的代码编辑。
- 与LDAP(轻量级目录访问协议)集成,允许在Internet上定位和访问各种资源。GitLab EE支持多种LDAP服务和组同步。
- 支持Git导入
缺点:
- 界面相对较慢
- 存储库常见的技术问题。
相同点:
拉取请求、代码审查、内联编辑、问题跟踪、Markdown支持、双向认证、高级权限管理、托管的静态网页、功能丰富的API、Fork / Clone Repositories、代码段、第三方集成
不同点:
- Bitbucket和GitLab允许无限的私有存储库,而Github仅对学生或项目是公开项目时才免费存储项目。
- Bitbucket和GitLab持续集成
- GitHub使我们可以使用自己的持续集成服务器
- GitLab允许在线开发
- Bitbucket具有代码感知搜索
- GitLab是开源的
- Bitbucket有很多扩展
任务2: 调研并试用广泛使用的源代码集成开发工具软件(Integrated Development Environment,IDE)
1. MyElipse
MyEclipse企业级工作平台(My Eclipse Enterprise Workbench,简称MyEclipse)是对 EclipseIDE的扩展,利用它可以在数据库和 J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML,Struts, JSF,CSS,Javascript,SQL,Hibernate。
在结构上,MyEclipse的特征可以被分为7类:
(1)J2EE模型
(2)WEB开发工具
(3)EJB开发工具
(4)应用程序服务器的连接器
(5)J2EE项目部署服务
(6)数据库服务
(7)MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
优点:
(1)从编写、查错、编译、帮助等等各方面为Java语言贴身定做
(2)可无限扩展的强大插件功能
(3)众多公司、厂商、组织的鼎立支持
(4)开放,自由,免费
缺点:
(1)在外观设计功能方面非常欠缺,比如在应用程序的GUI界面设计、“所见即所得”的WEB界面设计等方面,eclipse还没有比较好的插件支持
(2)仍然处在发展期,不算特别成熟。有时还是会跳出一两个BUG的
(3)版本更新太快了,插件更新速度跟不上。
2. Microsoft Visual Studio(简称VS)
Microsoft Visual Studio是VS的全称。VS是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.Net Core、.NET Compact Framework和MicrosoftSilverlight及Windows Phone。
优点:
(1)支持创建自定义的离线安装包
(2)支持更多编程语言
缺点:
(1)界面设计没有充分考虑空间占用
(2)输出显示过于单调
(3)跟踪活动项不方便
(4)设置代码格式不够灵活
(5)缺少本地历史记录功能
(6)代码提示不够清楚美观
3. Code:: Blocks
Code:: Blocks是开放源码软件,是一个开放源码的全功能的跨平台C/C++集成开发环境。Code::Blocks由纯粹的C++语言开发完成,它使用了著名的图形界面库wxWidgets(2.6.2unicode)版。对于追求完美的C++程序员,再也不必忍受Eclipse的缓慢,再也不必忍受VS.NET的庞大和高昂的价格。
优点:
(1)首先开源就是最大的好处,而且功能基本上可以跟MS的IDE比肩
(2)安装包20M不到,MS一个补丁是它20倍
(3)使用的时候耗内存比较小
(4)没有MS IDE的输入法问题
缺点:
(1)停靠窗口不够人性化
(2)智能提示有时候会有问题;
(3)缺少必要快速排版和注释等常用的功能
(4)热键(ctrl+tab)不好用
(5)RAD:WXSMITH,每次修改界面会把构造函数人工添加部分覆盖掉(解决:可以在人工初始化代码放在oninit事件里),还有控件调整不够精确
4. PyCharm
PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如, 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制等等。
优点:
(1)每个文件都有其输出窗口
(2)可以终止进程,只需要点下按钮就行
(3)各种提示超强,没用的变量颜色会变灰,用错了的变量下面会有红色波浪线书写提示
(4)索引功能超强
缺点:
重量级,界面不是很好看
5. Android studio
Android Studio 是一个Android集成开发工具,基于IntelliJ IDEA. 类似EclipseADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
优点:
(1)超强的代码补全,超强的重构功能(支持xml的关联重命名,可自动在xml和java文件中快速定位),超强的代码分析
(2)多屏幕设计时支持
(3)基于Gradle的更灵活的构建系统,通过灵活的build变量可以轻松实现多渠道、多产品线、多package name打包等功能
(4)Layout编辑页面可即时预览
(5)debug时,可以浏览图片
(6)编辑模式下,引用图片、色彩等资源时,会在右侧显示预览小图;引用文字时,会自动折叠资源id,显示为将要显示的文字
(7)使用gradle管理依赖项,方便第三方库的引用和升级
(8)可以自动反编译依赖的jar或class文件
缺点:
(1)Studio的智能提示补全并不好用
(2)Studio的文件组织方式不如Eclipse简单明了
(3)Studio工程组织方式逻辑有问题
(4)Studio查看日志不如ADT方便
(5)Studio没办法引用自定义的framework
6. NetBeans
NetBeans是Sun公司(2009年被甲骨文收购)在2000年创立的开放源代码供开发人员和客户社区的家园,旨在构建世界级的JavaIDE。NetBeans当前可以在Solaris、Windows、Linux和Macintosh OS X平台上进行开发,并在SPL(Sun公用许可)范围内使用。NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建Web、企业、桌面以及移动的应用程序,NetBeans IDE已经支持PHP、Ruby、JavaScript、Groovy、Grails和C/C++等开发语言。
优点:
(1)开源软件开发集成
(2)NetBeans社区活跃
(3)语言种类有简体中文
(4)支持的技术非常多:Java EE 7、Java EE 6 和 Java EE 5
缺点:
编译和检查更改很慢,debug只能使用ant
7. IntelliJ IDEA
Intellij idea是java编程语言开发的集成环境,由JetBrains公司研发。Intellij idea在业界被公认为是最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具、JUnit、CVS整合、代码分析、创新的GUI设计等方面的功能。
优点:
(1)编辑HTML、js不那么卡,而且js声明定位比较准确
(2)自动反编译
(3)debug的时候不会像eclipse那样有时候找不到源码
缺点:
(1)吃内存
(2)svn插件不如eclipse,project窗口没有svn信息
(3)module上的右键菜单有时候太长,超过了屏幕无法显示
8. HBuilderX
HBuilderX 简称 HX,HBuilder,H 是 HTML 的缩写,Builder 是建设者。是为前端开发者服务的通用IDE,或者称为编辑器。它可以开发普通 web项目,也可以开发 DCloud出品的 uni-app项目、5+App项目、wap2app项目。
优点:
(1)一套代码,多端运行,可以同时生成ios,Android,H5,微信小程序,支付宝小程序,百度小程序
(2)代码实现简单,开发快速,官网提供很多组件,可以直接拿来用
(3)uniapp开发体验对前端人员十分友好,首先uni-app是基于vue.js的,其次和微信小程序的开发方式类似
(4)突破了系统对H5调用原生功能的限制,比如使用uniapp结合HTML5plus能调用系统相册图片选择和拍照等
缺点:
(1)uni-app问世的时间还比较短,有很多地方还不是完善
(2)对于使用中的一些bug及问题,官方回应的不是很及时
任务3: 撰写任务1、任务2相关内容博客
练习使用typora进行MarkDown格式博客的本地编辑和实时预览,编辑完成后复制到博客园中