201871030117-李亚楠-常用源代码管理工具和开发工具

项目 内容
课程班级博客连接 2018卓越班
这个作业要求链接 常用源代码管理工具和开发工具
我的课程学习目标 1.认识一些源代码版本管理软件,比较异同,为以后更好的使用做理论铺垫;
2.了解了一些广泛使用的源代码集成开发工具软件,体会各种IDE的特点,学会这些集成开发工具正确、高效地使用;
3.练习使用typora进行本地编辑和预览,使博客书写更加便捷;
这个作业在哪方面帮助我实现这个目标 1.阅读相关博客,以及网上的各种资料,了解各种源代码版本管理软件的异同和各自的优势,能对源代码进行合理的管理;
2.下载各种常用的IDE,简单使用,体会其特色及存在的问题;
3.下载typora进行博客书写练习,熟悉此软件的应用,高效书写博客;

任务1:调研源代码版本管理软件

  • 版本控制系统的类型

    • 本地:所有开发人员都在同一个文件系统中
    • 集中式:项目团队在中央服务器上具有单个项目副本,团队成员将更改提交给一个副本
    • 分布式:开发人员在本地存储库中工作,更改在存储库之间共享
  • git

    • git是用于Linux内核开发的版本控制工具,是一个开源的分布式版本控制系统
    • 优点:
      • 适合分布式开发,强调个体,公共服务器压力和数据量都不会太大
      • 速度快,灵活。git分支的本质是一个指向提交快照的指针,速度快、灵活,分支之间可以任意切换,可以在本地进行操作可以不同步到远程
      • 任意两个开发者之间可以很容易解决冲突。多人开发很容易出现冲突,可以先pull远程到本地,然后本地合并一下分支,解决好冲突,再push到远程即可
      • 离线工作。如果git服务器出现问题,也可以在本地进行切换分支操作,等有网络之后再提交、合并等操作
    • 缺点:
      • 学习周期相对较长
      • 代码保密性差,一单开发者把整个库克隆下来就可以完全公开所有代码和版本信息
      • git没有严格的权限控制,一般是通过系统设置文件的读写权限来做权限控制的

1.GitHub

  • GitHub是git存储库和协作项目开发的首选网站。该系统允许用户轻松创建基于Git的特殊版本控制系统。

  • GitHub有以下几个优点:

    • pull request,issue等特点对开发人员友好
    • 功能设计简洁实用上手很快,可用性好
    • 错误跟踪:这项功能属于协作功能,可以通过项目检测到的软件错误记录来提高代码质量
    • 快速搜索:存储库提供了方便的项目结构,允许有效的搜索和排序
    • 社区:GitHub的用户数量已经有很大规模。这个世界范围内极大的开发团队是共享技能和经验的重要来源。用户可以沟通,评论,编辑和跟踪新闻
    • 共享:项目源代码不仅可以使用Git进行复制,还可以作为归档下载
    • 协作开发:GitHub为团队提供了高效的功能
    • 兼容性:源代码位于GitHub的项目可以轻松地定制到任何云主机服务
    • 支持Git、SVN、HG、TFS导入
  • GitHub缺点:

    • 非免费,而且限制文件大小不能超过100Mb,存储库可以托管信息1Gb
    • wiki功能太弱,导致文档经常被分离到一个独立站点
    • 基于Git,学习周期较长

2.GitLab

  • GitLab也是基于Git版本控制开发的,主要有几种形式:适用于企业的GitLab SAAS,以及用户的个性化解决方案GitLab Community Edition

  • GitLab优点:

  • 免费,不限私有存储库的数量

  • 在开源许可证下允许

  • 错误跟踪和基于Web的代码编辑

  • 与LDAP(轻量级目录访问协议)集成,允许在Internet上定位和访问各种资源。GitLab EE支持多种LDAP服务和组同步

  • 支持Git导入

  • GitLab 缺点:

    • 界面相对较慢
    • 存储库常见的技术问题

3.BitBucket

  • BitBucket是Altassian公司提供的一个基于web的版本库托管服务,支持Mercurial和Git版本控制系统

  • BitBucket优点:

    • 支持Hg,也支持git
    • 小团队免费,支持5个人以内的合作开发
    • 一个集成的查询管理系统
    • 通过社交媒体和GitHub认证
    • 集成Jira工具。BitBucket和Jira在整个开发阶段都做了整合,通过集成的错误跟踪组件,JIRA自动更新有关检测到的问题信息
    • 导入现有Git项目
    • 支持Git,CodePlex,Google Code,HG,SourceForge,SVN导入
  • BitBucket缺点:

    • 不开源
    • 系统不稳定

4.GitHub、GitLab、BitBucket的异同

  • 相同点:

    • 都是基于Web的版本库托管服务,支持Git版本控制系统

    • 具有一些相同的特点,如markdown支持、第三方集成等

    • 为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所

  • 不同点:

    • 只有GitLab是开源代码版本;GitHub以开源友好而闻名,并且拥有最大数量的开源项目但其实并不是开源的;BitBucket也不是开源的,但是再购买托管服务的方案中提供了产品定制功能
    • GitHub、GitLab、BitBucket都具有“发现”功能,除了GitLab,每个都提供了“follow”功能
    • GitHub、BitBucket支持导入基于多个不同VCS的repos,而GitLab只支持Git
    • GitHub允许托管无限的共有代码仓库,但是项目不超过1GB和每个单个文件不能超过100MB;BitBucket允许5个成员加入,公有、私有仓库都免费;GitLab允许无限数量的用户再无限数量的公有和私有项目上进行协作,并且每个存储库由10GB的空间限制
    • GitHub支持搭建本地服务器的个人GitHub,只能供个人使用;GitLab提供开源代码,支持企业自己用企业买的服务器搭建企业GitLab,供公司所有人使用
    • GitHub支持导入Git、SVN、HG、TFS;GitLab支持导入Git;BitBucket支持导入Git、HG、SVN、Google code
    • BitBucket服务类似于GitHub,但功能不大相同。BitBucket最适合小型开发团队,提供了与GitHub和GitLab相对更温和的价格,并且为团队提供了灵活的部署模式

任务2:调研并使用广泛使用的集成开发软件

1.NetBeans

  • NetBeans不仅仅支持Windows平台,而且还支持Mac,Linux和Solaris等平台,你可以根据自己的平台选择合适的版本,NetBeans也不仅仅只是Java开发平台,目前还支持Java Fx、Groovy、PHP、HTML5,Grails和C/C++等开发语言。NetBeans对国际化支持也非常好,所以可以直接使用中文版

  • NetBeans IDE包括开源的开发环境和应用平台,还可以下载绑定服务器,这样NetBeans IDE就可以方便的让开发人员利用java平台能够快速进行Web应用、桌面应用以及移动的应用程序的开发工作

  • NetBeans项目还有一个活跃的开发社区提供支持,为NetBeans开发环境提供了丰富的产品文档和培训资源以及大量的第三方插件

  • NetBeans功能强大,安装简单

2.Eclipse

  • Eclipse原来是IBM公司开发专门用于java的IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会管理,Eclipse是一个开放源码的、基于Java的可扩展开发平台。

  • Eclipse设计非常优良,它本身只是一个框架和一组服务,可以通过插件的方式构建开发环境,并扩展某功能。而且,Eclipse附带了一个标准的插件集,其中就包括Java开发工具(JDK)

  • 虽然大多数用户都将Eclipse当作Java集成开发环境(IDE)来使用,Eclipse包括插件开发环境(PDE),这个组件主要是针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。目前Eclipse也可以通过插件的方式扩展,使其作为C++、python、PHP等其它语言的开发工具

3.IntelliJ IDEA

  • IDEA是java语言开发的集成环境,IntelliJ再业界被公认为是最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、创新的GUI设计等方面的功能可以说是超常的,IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国首都布拉格,开发人员以严谨著称的东欧程序员为主

4.Visual Studio

  • Visual Studio是微软公司推出来的开发环境。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、软件管控工具、集成开发环境等等
  • Visual Studio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件
  • 在VS集成环境下可以进行C/C++/C#/VB/F#语言和一些网络语言编译,所编写的程序代码适用于微软支持的所有平台。
  • Visual studio是一个可视化的工具集合。它将代码编译、编译器、连接器、资源编辑器都整合在同一个开发环境中。它通过项目、项目集等组织概念使开发直到发布,能够称为流程化,减少手工劳动。VS在编辑代码时,UI会有各种直观的提示和辅助功能

5.Hbuilder

  • HBuilder,H是HTML,Builder是构造者,X是HBuilder的下一代版本,简称HX。HX是轻如编辑器、强加IDE的合体版本。
  • HBuilder是DCloud(数字天堂)推出的一款支持HTML5的Web开发IDE。HBuilder的编写用到了Java、C、web和Ruby。自身是用Java编写的,特点有轻巧、急速、vue开发强化、小程序支持、markdown利器、强大的语法提示、高效极客工具、更强的json支持
  • HX支持java插件、nodejs插件,并兼容了很多vscode的插件及代码块,还可以通过外部命令,方便的调用各种命令行功能,并设置快捷键。
  • 在一个团队内部,HX不止代替了其它开发工具,还代替了记事本、word、evernote等

6.PyCharm

  • Pycharm是JetBrains公司可开发的Python集成开发环境,PyCharm分为两个版本,专业版和社区版

  • PyCharm提供智能代码补全、代码检查、实时错误高亮和快速修复,以及自动化代码重构和丰富的导航功能。PyCharm为现代Web开发框架提供丰富的框架针对性支持

  • PyCharm与IPython Notebook集成,提供交互式Python控制台,并且支持Anaconda和多种科学化的包(如NumPy)

7.Android studio

  • Android Studio是Google推出基于IntelliJ IDEA的Android应用集成开发环境,而且提供了更多提高Android应用的构建效率功能

  • 基于Gradle的灵活构建系统;Instant Run可以将变更推送到正在运行的应用中,无须重新构建Apk;快速和丰富的模拟器;丰富的测试工具、性能工具和网络监控工具;C++和NDK支持,以及LLDB可以调试原生代码;使用Room将数据持久化数据库;使用apkanalyzer对预构建APK进行分析和调试、强大的布局编辑器、支持Koltin编码和Lua编码

8.Code Blocks

  • Code Blocks是一个开放源码的全功能的跨平台C/C++集成开发环境,纯粹由C语言完成,使用了著名的图形界面库wxWidgets版,选择UNICODE支持中文。
  • Code Blocks提供了许多工程模板,包括控制台应用、动态连接库、静态库、FLTK应用等等,另外它还支持用户自定义工程模板。
  • Code Blocks支持语法色彩醒目提醒,支持代码完成,支持工程管理、项目构建、调试。Code Blocks支持插件,主要包括代码格式工具AStyle、代码分析器、代码统计等等。
  • Code Blocks具有灵活而强大的配置功能,除了支持自身的工程文件、C/C++外,还支持批处理、CSS文件、MASM汇编文件、XBase文件等等。

任务3:使用typora编写博客

posted @ 2021-03-17 14:19  201871030117-李亚楠  阅读(132)  评论(9编辑  收藏  举报