操作系统
目前稍微有点节操的公司都会为员工配发Mac进行工作,并不是多装逼,而是MAC在开发过程中的便捷性确实会把 Windows甩好几条街,不过其实是Windows作为操作系统太为奇葩,而又在市场上大行其道,导致很多人从小就用Windows用的飞起。而对于Linux,Mac的优势在于针对硬件性能的优化以及用户交互的先进。
所以我的观点是:能用Mac就上,不能的话尽量选择Linux进行开发。
Ok,如果选择使用了Mac或者Linux那么就应该学会使用命令行.它可以帮助开发人员节省不少时间。(也许开始只需要学会10条左右常用命令就可以了,不会降低学习热情 eg: cd, ifconfig, ls, mv, cp)
至于担心适不适合大学,好多软件在Mac上运行不了的问题,大可放心,大学期间我也是用Mac,照样没有挂科正常毕业了2333。
PS:推荐一本书《MacTalk 人生元编程》,并不是以一本技术的角度讲解如何使用mac的技术书,浅显易懂的枕边书。
代码版本控制工具
代码版本控制是为了团队之间更好的协助,试想一下A成员本机开发一个功能A(比较装逼一点的叫法是feature),B成员本机开发了一个功能B,如何把两个代码合并在一起?这就是代码版本控制其中一个功能了。
再比如开发途中发现现在代码思路错了! 我要回到以前的某个时候重新开始写代码,这时候利用版本控制就能查看代码历史记录,帮你跳转到你需要的那个时候。
大致的概念介绍完了,现在介绍一个工具:Git
Git提供了版本控制的一些常用的方法,创建分支,合并分支,移动分支,查看历史等等。可能这些此对没有接触的同学不太清楚,下面简单解释一下。
可以理解为我们利用Git维护一个开发树,树最中间是一个开发主轴(红色,master),每个节点就是一次开发节点。蓝色和绿色分别代表不同人开发的不同功能(Feature)。每次开发都会相当于从现有代码“copy”(实际上并不是)一份出来,进行开发,我们称这时候你的代码是在这个树上的分支(branch)编写的,你可以随意开发,开发完之后将branch合并(merge)到主轴(master)上面。同时master也会向前走一个版本。如图最后面的红色节点就会具有绿色和蓝色两个开发的Feature。