命令行,代码编辑器还有源代码管理是开发工作日常必备的工具,无论我们开发什么类型的应用,都会用到这几样工具。
做开发的时候需要用到大量的工具,有些带图形界面,有些不带图形界面。这些不带图形界面的工具,需要通过命令行界面执行文字命令来使用这些工具,命令行界面就是 command line interface,简称为 cli,要在命令行界面下输入的命令通常就是要运行的这个命令行工具的名字。创建应用、安装项目依赖,启动应用的开发服务,做源代码管理,远程连接管理服务器等等,这些任务一般都需要在命令行界面下完成。
在我们的电脑的操作系统里面都有一些命令行工具,可以通过系统里提供的命令行界面使用它们,比如 Windows 系统里的命令提示符,macOS 系统里的终端都属于命令行界面,通过它们可以执行系统里的命令行工具。在做开发的时候,我们会额外再安装一些命令行工具,这些工具也可以在命令行界面下使用。
作为开发者我们要尽快熟悉这种在命令行界面下的工作方式,其实很简单没什么难度,就是输入要执行的命令,这些命令一般都支持一些选项与参数,通过这些东西可以配置要执行的命令具体要做的事情。
可以先从最基本的处理文件与目录的命令开始学习,比如改变当前所在的位置,列出目录里的资源,创建、编辑、删除文件与目录,修改文件与目录的权限等等。要查看系统里的一个目录里的资源,如果通过图形界面完成这个操作,只需要浏览到这个目录的位置,然后双击打开它就可以了。如果是在命令行界面下完成这个动作,你需要执行改变工作目录的命令,进入到想要查看的目录,然后再执行列出命令列出这个目录里的资源。
代码编辑器就是编写项目代码用的工具,这种工具有很多品种,有些擅长编写某种特定类型的应用,有些是比较通用的,可以编写任何类型的应用,其实任何具有文本编辑功能的东西都可以作为代码编辑器。
代码编辑器是 code editor,还有一种东西叫 IDE,指的是 integrated development environment,也就是集成开发环境,或者叫综合开发环境,这种东西不但包含了代码编写功能,它还提供了开发某种类型的应用需要的一些配套工具,比如应用的运行环境,自动测试还有编译等等。代码编辑器与 IDE 之间的界限现在越来越模糊了,因为很多代码编辑器都支持安装额外的插件扩展自身的功能,通过这些插件或者叫扩展,也可以配置一套开发某种类型的应用的 IDE。
推荐大家可以先选择一款通用型的代码编辑器, VSCode 现在就是一个不错的选择,开源、免费、可定制、可扩展。
对项目做了一些修改,比如创建了新的文件,编写了新的代码,定义了新的功能,或者修复了 Bug,改进了某个功能等等,完成以后,我们可能希望要保存一下项目当前的这个状态,这样以后遇到问题的时候,可以查看项目当初保存的那个状态,可以把项目恢复到这个状态。要保存项目的当前状态,可以复制整个项目,以后出了问题,想要恢复项目的时候,可以用这个复制品替代正在开发的项目。
保存项目状态更好的方法是使用源代码管理工具或者叫版本控制工具。我们也必须要对开发的项目做 “源代码管理”,source control management,或者叫 “版本控制”,version control,它们指的是一个意思。Git 是现在最常用的一种源代码管理或者叫版本控制工具,Git 也是每一位开发者必须会用的工具之一,也必然会用到它。
用源代码管理工具可以更好的管理项目的状态,每次对项目做了一些修改以后,想要记录或者保存一下项目的这个修改之后的状态,就可以使用源代码管理工具做一次提交(commit),这样我们以后可以浏览项目的提交历史记录,可以查看每一次提交对项目都做了什么,是谁做了这次提交,为什么要做这次提交,这次提交都修改了项目的哪些文件哪几行代码等等。或者可以重做这次提交对项目做的所有修改,甚至可以把项目恢复到这次提交所保存的状态上。
这些必要的工具我们只需要先熟悉一下,理解它们的作用就行了,我们的目的并不是成为使用工具的大师,而是去创造应用,提供服务,解决问题。不需要花太多精力来挑选工具、定制工具,也不需要用太多时间专门训练工具的使用技巧,可以在实际的开发工作中不断地积累必要的技巧。