201871030139-于泽浩 常用源代码管理工具与开发工具

201871030139-于泽浩 常用源代码管理工具与开发工具

项目 内容
课程班级博客连接 2018级卓越班
这个作业要求连接 常用源代码管理工具与开发
我的课程学习目标 (1)了解软件项目与源代码常用管理工具;
(2)了解软件项目与源代码常用集成开发软件工具;
(3)下载学习使用Typora来本地编辑博客。
这个作业在哪些方面帮助我实现学习目标 (1)调研了解软件项目与源代码常用管理工具的过程;
(2)调研了解源代码常用集成开发软件工具的过程;
(3)使用Typora本地编辑的过程 。

实验内容


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

  1. 管理工具简介

    • GitHub简介

      • GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git作为唯一的版本库格式进行托管,故名GitHub。
      • GitHub是一个Git的服务器提供商,帮助我们共享代码(托管代码),也是一个开源平台。
    • GitLab简介

      • GitLab是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
      • 可通过web界面进行访问公开的或者私人项目。
    • Bitbucket简介

      • Bitbucket是一家源代码托管网站,采用mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户。
  2. 上述三者之间的优缺点

    管理工具 优 点 缺 点
    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、系统不稳定 ;
  3. 选择方案

    ​ 如前文所述,每个存储库都有其优缺点,也都有广大的程序员基础。这三个存储库管理服务中,只有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的功能特色。

  1. 集成开发工具软件简介

    • My Eclipse
      • Myeclipse是在eclipse 基础上加上自己的插件开发而成的基于Java的可扩展开发平台。
    • Visual Studio
      • Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。
    • HBuilderX
      • HBuilderX,H是HTML的首字母,Builder是构造者,X是HBuilder的下一代版本。我们也简称HX。
        HX是轻如编辑器、强如IDE的合体版本。
    • 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++等开发语言
    • 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等少数语言。
  2. 上述部分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撰写博客
posted @ 2021-03-17 12:27  201871030139-于泽浩  阅读(123)  评论(2编辑  收藏  举报