不会用VI?没关系,proftpd让你的开发效率提升10倍!
- 服务器
- 2023-01-30
说个重点:下文介绍的是一种可以使用本地IDE开发远端Liunx环境下的代码的解决方案,我会以视频的方式给大家演示如何使用。如果你对中间的文章不感兴趣,可以直接跳到最后一部分看视频
,顺便帮忙点个“在看”~
从Win到Linux
相信很多人和我一样,刚开始学习编程时使用的都是Windows系统,久而久之便习惯了Windows开发环境或者说桌面开发环境。
的确,在Windows或者Mac OS等桌面系统下开发确实很方便,特别是C++程序员一旦习惯了使用 Visual Studio 等开发环境,就再也不想放手了。
我也是这样的,在学校的时候,一台Windows系统的笔记本电脑用了四年。但毕业进公司以后,干的第一个正式项目就是Linux环境下的C++开发,并且这是一个业务复杂、逻辑复杂的项目,一时间我竟无所适从。
说起Linux项目开发,大部分企业都是使用的Linux开发环境,这部分使用Linux开发环境的企业中又有很大比例的公司使用的是Centos系统。所以,各位同学如果今后要干开发这份工作,几乎是逃不开Linux的,那么就引出来一个问题:
“在Linux环境下,怎样才能高效地写出高质量的代码呢?”
我刚毕业的时候,也曾思考这个问题,虽然我在毕业前就已经使用过一段时间Linux系统,不过那都是小打小闹,真正上手搞一个大项目还是很难适应的。所以我采取了一个最直接的方式:问前辈、上网查资料。
我得到最多的回答就是:vim。
vim是一款Linux环境下的文本编辑器(而非一款编译器),如果有不了解的同学,可以自行百度一下vim,我就不过多介绍了。总之,我听了前辈和网友的建议后便开始用vim开发了,一开始项目比较小的时候写起来还是比较顺手的,可到后面项目大起来、多起来的时候,我感觉有点怪怪的,离开了鼠标,总有那么一点不适应,开发进度也不够快,特别是遇到语法比较严格的编程语言,那就更慢了,所以我陷入了思考...
vim真的好吗?
答案是肯定的,vim很好。当你把它用熟了以后,会感觉相当顺手,不过这有一个前提:你需要时间,还需要花费一定的精力。并且它对于新手而言,不是特别友好,也就是说比起学习使用一款IDE,学习vim的成本会大很多。
对于一个刚进入公司工作的学生而言,新入职的那段时间肯定是相当紧张的,因为一切都是新的,而且在公司做事情都有排期,如果花太多时间去折腾一款自己不熟悉的编辑器,肯定会很急躁。所以我们可以选择一种能更快适应公司开发模式的方法或者说更适合自己的方法。
vim很好,但你要思考一下它是否适合现阶段的你。
vim or IDE?
我个人认为,如果你之前没有使用过vim,那还是可以去尝试学习和使用一下,如果实在用不习惯,那也别逼自己了,换成简单易用的IDE吧。毕竟我们上班写程序的主要目的还是在尽量短的时间内写出高质量的代码。
IDE对新手来说是比较友好的,特别是 jetbrains 旗下的众多IDE,你只要学会一款就可以完全无压力地上手其他同系列的IDE了,下图就是我Develop tools里面的众多IDE。
我个人特别喜欢 jetbrains 系列的IDE,用它们在Mac下写代码真的是一种享受,如Python的pycharm、PHP的PHPstorm、C++的Clion等。当然,这些软件是要收费的,如果大家的经济条件允许,请支持正版,如果实在经费不足也可以使用Sublime,这是一款免费的编辑器,也非常好用。不过话说回来,国内这个环境,关于正版软件有些话还是不好多说。
说了这么多,我只是说IDE好用,却没有说为什么好,下面就讲讲IDE的优点吧。
新撸一个项目的时候用vim比较痛苦
01
vim我也是常常使用的,不过我的使用场景多是在现有已经成型的项目上进行一些修改和二次开发。如果是新开一个项目,并且是一个规模比较大的项目,vim和IDE相比,就没那么方便了。
一个大型项目肯定不会只写在一个文件里面,这时候会涉及大量文件间的引用和函数跳转,这时候用IDE会相对好管理,可以很直观地看到各个文件,文件之间的跳转通过鼠标就能操作,清晰明了,对比起来vim的操作就很复杂。
vim更便于语法检查
02
其实说vim没有语法检查是不严谨的,它也可以进行配置,但vim的学习成本和使用成本比较高,而IDE自带这些功能,或者简单安个插件即可。
说到语法检查我举个例子吧:
在写PHP的时候,即使你使用了一个在当前作用域中未声明的变量,程序在运行时也不会报错。这种情况下,如果不通过代码静态检查工具而仅仅通过人肉走查是很难发现这种问题的,而用IDE就能很好地解决。IDE能很容易地帮你识别那些非法的引用和调用,并用红色波浪线帮你标记出来。
代码格式化
03
所谓格式化就是用一些规范代码的工具帮我们把代码变得更加规范,比如在做赋值运算的时候,我们最好在运算符两边都留下一个空格:
a = b + c
而不是:
a=b+c
我们在给函数传参的时候,要在逗号后面留一个空格。
connect(host, ip, time_out)
而不是
connect(host,ip,time_out)
当然这都是一些编码的小规范,并不会影响程序的正常执行,但是当你进了公司你就会发现,有的公司的代码库提交规则是很严格的,格式不规范的代码是不允许提交的。我们应当在编码的时候就注意这些问题。不过,人毕竟是会出错的,这时候就需要一些代码规范工具来帮助我们。
代码规范工具不是IDE的专属,我们也可以直接使用一些规范化的工具,比如说在写Go语言的时候,我们时常会用到gofmt、goimports等工具,一个是格式化Go代码的工具,一个是管理引用包的工具,这些工具也可以在终端独立使用,不过还是那句话,麻烦,我们需要单独去调用它。
而IDE的好处就在于这些东西都已经被打包好了,比如你写好代码保存时,它就能帮你把代码格式调好,把多余的引用去掉,引入需要的包,这样就更加规范。
一个问题 & 解决方案
很多人看到这里,会抛出一个问题:“IDE只适合在本地进行开发,而不能在服务器上开发,这是最大的痛点。”
这确实是IDE的一大痛点,但也不是没有解决方案,我们可以使用ftp工具来实时同步本地IDE和远程服务器的代码,从而达到在本地开发服务器上的代码的目的。
这个工具就是proftpd,一个Unix平台或类Unix平台上(如Linux, FreeBSD等)的ftp服务器程序,每当你写好一行代码,你的代码都能通过网络实时传输到远端服务器上,给你的感觉就像是直接在远端服务器上用IDE开发项目。
为了让大家更直观地了解这个过程,我录制了一个视频来介绍它,废话不多说,视频如下:
如视频中所述,你可以下载这款软件来进行编译安装,当然,如果你懒得自己去安装这款软件,那就用我帮你打包好的这个软件吧,解压后就能直接使用啦。公众号后台回复:ftp ,就能下载啦。
如果视频不够清晰,可以点击这里查看高清视频:
https://v.qq.com/x/page/l0912lxkoqw.html
近期热文:
因为偏执,所以坚持
更多有趣文章,长按识别二维码关注,逆袭的二胖。