项目 内容
课程班级博客链接 班级博客连接
这个作业要求链接 作业要求连接
我的课程学习目标 1、了解软件项目源代码常用管理工具
2、了解软件项目源代码常用集成开发软件工具。
这个作业在哪些方面帮助我实现学习目标 1、了解更多IDE,有助于培养计算机素养
2、帮助提升代码编写能力,提高编写效率

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

目前流行的源程序管理软件:

1)GitHub
概述:
	Git是一个分布式的版本控制系统,最初由Linus  Torvalds编写,用作Linux内核代码的管理。在推出后,Git
在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius、Merb和Bitcoin在内的很多知名项目都使
用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。
GitHub的优缺点:
	优点:GitHub提供Git存储库服务,基于web,允许你使用Git的源代码管理功能,或者其特性。GitHub提供Git
存储库服务,基于web,允许你使用Git的源代码管理功能,或者其特性。
	缺点:可能不是捕捉创意过程和记录创意点子的最佳工具。对于这种特殊功能模拟可以选择LayerVault 或其他
相似工具。之前,我们已经强调过Github非常适用代码跟踪,但是却不是最好的设计跟踪工具。将图片内容转化为代码,
或者将设计用于产品设置,看起来依旧不是那样顺利。
2)svn
概述:
	SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
subversion的优缺点:
	优点:支持文件重命名提交系统会提示删除旧文件,创建新文件,删除本地文件提交库中文件也被删除
	缺点:要将权限控制文件保存为svn支持的UTF-8格式,一个库可以有多个工作目录但一个工作目录只能对应一个
库虽然可以更改库位置但是要求很严格,库中文件存放方式,看不到文件真正的内容。
3)VSS
概述:
	VSS是微软的产品,是配置管理的一种很好的入门级的工具。VSS最初的名字叫Source  Safe,是一家小公司的
产品,92年曾经获了最佳小型管理工具奖,然后立即被微软收购。但是微软收购的只是
source  safe的Windows版本,在美国还有另外两家公司分别获得了继续开发和销售source  safe的Mac版本和Unix版
本的许可,在MS买进vss之后,基本上没有对vss进行任何的研发,MS内部自身也不用vss。
	SourceSafe长得很象早先土气的文件管理器,的确难看。但是难看不碍事,SourceSafe的优点可以用8个字来
概括“简单易用,一学就会”,这个优点是它老妈Microsoft遗传下来的,是天生的。虽然SourceSafe并不是免费的,但
是在国内人们以接近于零的成本得到它,网上到处可以下载啊。当然Microsoft也不在乎这个小不点的软件,它属于“买
大件送小件”的角色。如果你合法地得到Visual Studio,你就得到了免费的SourceSafe。
Visual Source Safe优缺点:
	优点:易学易用是VSS的强项,VSS采用标准的windows操作界面,只要对微软的产品熟悉,就能很快上手。VSS
的安装和配置非常简单,只要参考微软完备的随机文档,就可以很快的用到实际的工程当中。
	缺点VSS的配置管理的功能比较基本,提供文件的版本跟踪功能,对于 build 和基线的管理,VSS的打标签的
功能可以提供支持。VSS提供share(共享) 、branch(分支)和合并(merge)的功能,对于团队的开发进行支持。
VSS不提供对流程的管理功能,如对变更的流程进行控制。VSS不能提供对异地团队开发的支持。此外VSS只能在windows
平台上运行,不能运行在其他操作系统上。VSS的安全性不高,对于VSS的用户,可以在文件夹上设置不可读,可读,
可读/写,可完全控制四级权限。但由于VSS的文件夹是要完全共享给用户后,用户才能进入,所以用户对VSS的文件夹
都可以删除。这一点也是VSS的一个比较大的缺点。
4)Coding
概述:
	Coding  是基于云计算技术的软件开发平台,集项目管理、代码托管、运行空间、质量控制为一体。在云计算
时代,Coding推动软件开发的云端化,使开发者能用一个浏览器完成开发的各个环节。开发人员可以专心构建业务问题的
解决方案,而非管理运营或发布堆栈,确保应用满足产品层目标服务等级,同时更为企业层级的项目应用提供了代码质量
检验以及项目质量把控的渠道和标准。在保证私有项目的数据安全和稳定的同时,Coding 还结合了冒泡及评论、公开项
目发布与讨论等一系列社交化协作功能,打造具有技术支撑的开发者社区。
5)Team Foundation Server
概述:
	(通常记作“TFS”) 是一种为 Microsoft 产品提供 源代码管理、 数据收集、 报告和项目跟踪,而为协作
软件开发的项目。 可作为独立的软件,或 Visual Studio Team System (VSTS) 在服务器端后端平台。
Microsoft TFS的优缺点:
	优点:是对敏捷,msf,cmmi等项目、过程管理、过程改善的支持。任务版上能将需求、项目进度一览无余,
对于小团队而言,比甘特图更有用。
	缺点:能应用起来的团队、公司的数量极少,多数真正用起来,也就是源代码管理这部分,这也仅仅是占TFS
极小部分功能。
6)ClearCase
概述:
	ClearCase主要应用于复杂产品的并行开发、发布和维护,其功能划分为四个范畴:版本控制、工作空间管理
(Workspace  Management)、构造管理(Build Management)、过程控制(Process  Control)。ClearCase通
过TCP/IP来连接客户端和服务器。另外,ClearCase拥有的浮动License可以跨越UNIX和  Windows NT平台被共享。
ClearCase的优缺点:
	优点: 功能完善,安全性好,可以支持复杂的管理,ClearCase对于windows和unix平台都提供支持。
ClearCase通过多点复制支持多个服务器和多个点的可扩展性,并擅长设置复杂的开发过程。
	缺点:学习曲线和学习成本高,需要集成ClearQuest才能完成完整的配置管理功能,ClearCase的权限
设置功能与SVN相比,SVN有独立的安全管理机制,ClearCase没有专用的安全性管理机制,依赖于操作系统。

任务二:源代码集成开发工具软件

1)eclipse

​ Eclipse是全球最流行和最强大的一款IDE。它能够为C和C++程序员提供开源的工具和环境。初学者使用这款IDE上手会非常的容易。

特点:
·可免费使用的开源软件。
·支持Windows、 Linux、Mac OS X等各种平台。
·支持代码的调试、编译、分析、自动完成与重构(代码的重组可以在不改变外部运行的情况下执行)。
·有伟大的图形用户界面(GUI),可使用拖放功能来安排元素。
·支持静态代码分析
2) Code::Blocks

​ Code::Blocks是可用于满足C和C++的开发人员最苛刻需求的免费C/ C++ IDE。这款IDE包含了你进行C和C++开发所要用到的全部功能。

特点:
·可用于Windows、Linux和Mac OS X。
·完全的可定制性和可扩展性。
·支持代码的编译、调试、代码覆盖、分析和自动完成。
·是一个类浏览器。即是说它可以使面向对象编程可视化。
·拥有Eclipse这样的可在安排元素时使用拖放功能的特性,另外也支持代码分析。
3) GNAT Programming Studio

​ GNAT Programming Studio简称为GPS,是一个简化了软件与开发人员之间交互行为的高度先进的免费IDE。GPS的自然接口使得其简单易用,简化了源程序的导航,也有助于突出程序的基本思想。

特点:
·多平台支持。
·支持代码的编译、调试、代码覆盖、分析和自动完成。
·也是一个与Code:Blocks类似的类浏览器,同样支持代码重构。
·其拖放功能可减轻程序员的工作
4) CodeLite

​ CodeLite是另一个优秀的、免费的、开源、跨平台的C /C++ IDE,它可用于所有的主流平台(Windows, Linux和 OSX)。

特点:
·支持通用的编译器,可通过Buildtab对错误进行点击。
·支持下一代调试器。
·拥有基于内部解析器的异常快速和强大的代码完成工具。
·还拥有基于应用程序的用于构建插件RAD工具。
·支持静态代码分析、重构、类浏览器和程序概要分析。
5) NetBeans

​ Netbeans C++ IDE包含很多以C和C++模板为基础的项目,提供了C和C++动态与静态库来构建应用程序。其神奇的特性使得它在web开发人员之间流传甚广。

特点:
·免费开源的IDE。
·多平台支持。
·代码完成速度快,支持C / C++的重构。
·很好的集成了多任务(multi-session)gdb调试器。
·拥有自动缩进、语义突出、格式化(可对格式风格进行选择)、代码折叠、括号匹配和模板等功能。
·可使用远程主机上的开发工具以简单的方式创建、执行甚至调试用户端系统的项目。
6) Qt Creator

​ Qt Creator是另一种跨平台的IDE,它的设计目标是使开发人员能够利用Qt 这个应用程序框架更加快速及轻易的完成开发任务。

特点:
·多平台支持。
·支持代码的编译、调试、分析、自动完成和重构。
·可自由拖放。
·支持静态代码分析。
7) Dev C++

​ Dev C++是一款用于C和C++语言开发的不错的IDE,它是一个开源的IDE,但只支持Windows平台,而不支持Linux和OS X。

特点:
·代码自动完成。
·支持代码分析。
·类浏览器。
·支持gcc编译器。
·拥有可定制语法高亮的编辑器。
·集成调试(使用GDB)。
·可快速创建窗口、控制台、静态库和动态链接库。
·可编辑和编译资源文件。
·工具管理器。
8) C++ Builder

​ C++ Builder是构建Windows平台下无数据库连接的高性能C++应用程序的利器。它不是一个免费的IDE,需要授权许可。适用的平台为Windows和OS X 。

特点:
·可进行调试。
·拥有GUI生成器。
·支持代码分析。
·支持代码自动完成。
·类浏览器。
·编译器。
·支持代码重构。
9) Anjuta

​ Anjuta是一个包含许多先进的编程工具的全能型IDE,它专注于为开发者的高效开发提供简单可用的界面。虽然它是开源的软件,但它只支持Linux平台。

特点:
·Anjuta UI的操作简单,功能强大。
·拥有简单的向导和创建新项目的模板。
·完全集成了GDB的调试功能。
·项目管理。
·应用程序向导。
·源代码编辑器。
·分析器以及更多的工具。
10) MonoDevelop

​ MonoDevelop支持开发人员在Linux、Windows和Mac OS X平台上编写桌面和web应用程序。你也可以在 Linux 和 Mac OS X 平台上使用所有平台都相同且唯一的代码库来编写Visual Studio上所创建的.NET 应用程序。

特点:
·多平台支持。
·先进的文本编辑
·多语言支持。
·集成调试器。
·可配置的工作台。
·可完全使用代码自动完成来创建web项目。
11)CLion

​ CLion是Jetbrains公司的一款帮助开发人员在Linux、 OS X和Windows平台进行C和C++的强大IDE,通过智能编辑器、代码质量保证工具、自动重构工具以及紧密集成的CMake构建系统,CLion可以有效地提高开发者的生产效率。

特点:
·多平台支持。
·支持各种语言和标准。
·集成版本控制系统。
·嵌入式的终端系统。
·智能编辑器。
·支持代码的编译、调试、分析、自动完成和重构。
·由CMake系统支持 。
12)Code::Blocks

​ Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境。 Code::Blocks是开放源码软件。Code::Blocks由纯粹的C++语言开发完成,它使用了著名的图形界面库wxWidgets(3.x)版。对于追求完美的C++程序员,再也不必忍受Eclipse的缓慢。

特点:
·支持Windows和GNU/Linux
·Code::Blocks提供了许多工程模板
·Code::Blocks支持语法彩色醒目显示,支持代码完成,支持工程管理、项目构建、调试。
·Code::Blocks支持插件
·Code::Blocks具有灵活而强大的配置功能
·Code::Blocks基于wxWidgets开发,正体现了wxWidgets的强大
13)Visual Studio

Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。

特点:
·支持Windows Azure,微软云计算架构迈入重要里程碑。
·助力移动与嵌入式装置开发,三屏一云商机无限。
·实践当前最热门的 Agile/Scrum 开发方法,强化团队竞争力。
·升级的软件测试功能及工具,为软件质量严格把关。
·搭配Windows 7,Silverlight4 与 Office,发挥多核并行运算威力,
·创建美感与效能并重的新一代软件。
·支持最新C++标准,增强IDE,切实提高程序员开发效率。
14)Notepad++

​ Notepad++是一款高级的文本编辑器。支持的语言: C, C++ , Java , C#, XML, HTML, PHP, Javascript

特点:
 ·Notepad内置支持多达 27 种语法高亮度显示,也支持自定义语言; 
 ·Notepad可自动检测文件类型,根据关键字显示节点,节点可自由折叠/打开,代码显示得非常有层次感!这是此软件最具特色的体现之一; 
 ·Notepad可打开双窗口,在分窗口中又可打开多个子窗口,允许快捷切换全屏显示模式(F11),支持鼠标滚轮改变文档显示比例,等等; 
 ·Notepad提供数个特色东东,如 邻行互换位置、宏功能,等等...现在网上有很多文件编辑器,这个却是不可多得的一款,不论是日常使用还是手写编程代码,都能让你体会到它独有的优势和方便。 

任务3:练习使用typora进行MarkDown格式博客的本地编辑