简谈Java与git(哈工大软构lab1总结)

前言

最近学校开设《软件构造》这门课,lab1作为第一次实验,整体难度不大,主要是为了熟悉git的使用以及java的基本语法。接下来我就这两块部分谈谈我对感受。

Java——从c#到Java

因为我之前做unity相关的开发较多,在接触java之前也有一年多的c#使用基础,因此Java相对而言上手也比较快。但是实际使用起来感觉Java和c#在细节方面还有不少不同之处,下面我总结一些Java与c#的不同之处。

c#实际上感觉比Java会多很多很好用的特性,比如委托,事件,索引器,属性,真正的泛型,操作符重载,struct等等,就如委托和事件,c#可以使用委托以及事件来实现许多游戏开发中常用的设计模式,但是这部分内容使用Java实现就相对繁琐,必须定义一个专门的接口来完成对函数的传递。

同时Java也有一些内容c#并没有,例如匿名内部类,动态代理等等,只是暂时我还没有接触到这些内容。

总的而言,Java这门语言严谨,但是便捷性没有c#强。

对于一些复杂的数据类型,比如列表,查询表等,Java中有继承了Collection接口的List接口以及Map接口,同时ArrayList以及HashMap是实现这两个接口的具体类,在具体编程时调用ArrayList和HashMap这两个类里面提供的方法即可。而对于c#而言,List本身即为一个具体类,而查询表采用Dictionary(字典)实现,字典的功能与HashMap相同,可以存入键值对,但是查询或者更改值时可以直接使用字典的索引器,书写方法就如数组一般,使用一对方括号来将键括起来。

Git——比较集中式与分布式版本控制工具

由于平时的Unity项目有多人协作开发的需要,因此在接触git之前,在平时的项目管理中我一直使用的是PlasticSCM,也就是Unity提供的关于针对Unity项目的版本的管理工具。这次接触git,感觉作为分布式的版本管理工具,git有许多优点也有不足。

首先谈一谈集中式与分布式的管理工具。集中式版本控制工具是指所有的项目版本都存储在唯一的服务器中,而团队中使用者本地只保存有最新版本。因此,当服务器宕机或故障时,服务器中文件如果损坏或缺失,使用者本地只有最新版本,因此很难恢复全部版本文件记录,容易造成文件缺失。而分布式版本控制工具不再有唯一的服务器,每个使用者会将整个项目文件镜像到自己的本地中,因此每个使用者的电脑就是一个服务器。这样一来,当远程代码存储平台出现故障时,也不用担心代码文件以及版本丢失的问题。

但是像git这样的分布式管理工具也有一些使用上的繁琐,例如需要处理本地版本与远程版本不同步的问题,同时git的GUI做的也不够好,不能方便地查看树形结构,但对于集成在IDEA内的git工具而言使用就相对简单,便捷,新手友好。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梚辰

感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值