\b深入浅出全栈工程师: 提高效率的工具

节选自《Growth: 深入浅出全栈工程师》

在提交效率的N种方法里:有一个很重要的方法是使用快捷键。熟练掌握快捷键可以让我们随着自己的感觉编写程序——有时候如果我们手感不好,是不是就说明今天不适合写代码!笑~~

由于我们可能使用不同的操作系统来完成不同的工具。下面就先说说一些通用的、不限操作的工具:

快速启动软件

在我还不和道有这样的工具的时候,我都是把图标放在下面的任务栏里:

直到有一天,我知道有这样的工具。这里不得不提到一本书《卓有成效的程序员》,在书中提到了很多提高效率的工具。使用快捷键是其中的一个,而还有一个是使用快速启动软件。于是,我在Windows上使用了Launcy:

通过这个软件,我们可以在电脑上通过输入软件名,然后运行相关的软件。我们不再需要点击某个菜单,再从菜单里选中某个软件打开。

IDE

尽管在上一篇中,我们说过IDE和编辑器没有什么好争论的。但是如果是从头开始搭建环境的话,IDE是最好的——编辑器还需要安装相应的插件。所以,这也就是为什么面试的时候会用编辑器的原因。

IDE的全称是集成开发环境,顾名思义即它集成了你需要用到的一些工具。而如果是编辑器的话,你需要自己去找寻合适的工具来做这件事。不过,这也意味着使用编辑器会有更多的自由度。如果你没有足够的时间去打造自己的开发环境就使用IDE吧。

一般来说,他们都应该有下面的一些要素:

  • 快捷键
  • Code HighLight
  • Auto Complete
  • Syntax Check

而如果是编辑器的话,就需要自己去找寻这些相应的插件。

IDE一般是针对特定语言才产生的,并且优化更好。而,编辑器则需要自己去搭配。这也意味着如果你需要在多个语言上工作时,并且喜欢折腾,你可以考虑使用编辑器。

DEBUG工具

不得不提及的是在有些IDE自带了Debug工具,这点可能使得使用IDE更有优势。在简单的项目是,我们可能不需要这样的Debug工具。因为我们对我们的代码库比较熟悉,一个简单的问题一眼就知道是哪里的问题。而对于那些复杂的项目来说,可能就没有那么简单了。特别是当你来到一个新的大中型项目,一个简单的逻辑在实现上可能要经过一系列的函数才能处理完。

这时候我们就需要Debug工具——对于前端开发来说,我们可能使用Chrome的Dev Tools。但是对于后端来说,我们就需要使用别的工具。如下图所示的是Intellij Idea的Debug界面:

在Debug的过程中,我们可以根据代码的执行流程一步步向下执行。这也意味着,当出现Bug的时候我们可以更容易找到Bug。这就是为什么他叫Debug工具的原因了。

终端或命令提示符

在开始写代码的时候,使用GUI可能是难以戒掉的一个习惯。但是当你习惯了使用终端之后,或者说使用终端的工具,你会发现这是另外一片天空。对于GUI应用上同样的菜单来说,在终端上也会有同样的工具——只是你觉得记住更多的命令。而且不同的工具对于同一实现可能会不同的规范,而GUI应用则会有一致的风格。不过,总的来说使用终端是一个很有益的习惯——从速度、便捷性。忘了提到一点,当你使用Linux服务器的时候,你不得不使用终端。

使用终端的优点在于我们可以摆脱鼠标的操作——这可以让我们更容易集中精力于完成任务。而这也是两种不同的选择,便捷还是更快。虽是如此,但是这也意味着学习Linux会越来戴上轻松。

虽然这是以Linux和Windows作了两个不同的对比,但是两个系统在终端工具上的差距是很大的。Linux自身的哲学鼓励使用命令行来完成任务,这也意味着在Linux上会有更多的工具可以在命令行下使用。虽然Windows上也可以——如使用CygWin来完成,但是这看上去并不是那么让人满意!

包管理

虽然包管理不仅仅存在于操作系统中,还存在着语言的包管理工具。在操作系统中安装软件,最方便的东西莫过于包管理了。引自OpenSUSE官网的说明及图片:

Linux 发行版无非就是一堆软件包 (package) 形式的应用程序加上整体地管理这些应用程序的工具。通常这些 Linux 发行版,包括 openSUSE,都是由成千上万不同的软件包构成的。

  • 软件包: 软件包不止是一个文件,内含构成软件的所有文件,包括程序本身、共享库、开发包以及使用说明等。
  • 元数据 (metadata) 包含于软件包之中,包含软件正常运行所需要的一些信息。软件包安装之后,其元数据就存储于本地的软件包数据库之中,以用于软件包检索。
  • 依赖关系 (dependencies) 是软件包管理的一个重要方面。实际上每个软件包都会涉及到其他的软件包,软件包里程序的运行需要有一个可执行的环境(要求有其他的程序、库等),软件包依赖关系正是用来描述这种关系的。

我们经常会使用各式各样的包管理工具,来加速我们地日常使用。而不是Google某个软件,然后下载,接着安装。

原文发布于微信公众号 - phodal(phodal-weixin)

原文发表时间:2016-03-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏hotqin888的专栏

HydroCMS水利设计管理系统,基于beego框架

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

16120
来自专栏Vue ssr

php,vue,vue-ssr 三版本页面对比Demo

目前我这边的web页面,都是采用php+smarty模板生成的,是一种比较早期的开发模式。好处是没有现阶段常用的前后端分离出现的首屏问题,因为其本身就是服务器渲...

51010
来自专栏程序员互动联盟

【专业技术】Chromium浏览器组件是咋设计出来的?

在文章开始之前,我要叽歪几句,一上来就看chrome的代码,简直晕头转向,摸来摸去摸不着头脑,好不容易看了一点点代码,却宛如瞎子摸象,无法众观全局,下面这篇小文...

36860
来自专栏蓝鸟资源分享网

什么是服务器,服务器与普通电脑有什么区别?

许多人错误地认为服务器与典型的台式计算机没有区别。尽管计算机具有与服务器相似的处理器速度,内存和存储容量,只要满足任何最低硬件要求的计算机都可以运行服务器操作系...

62430
来自专栏腾讯Bugly的专栏

【Dev Club 分享】微信mars 的高性能日志模块 xlog

Dev Club 是一个交流移动开发技术,结交朋友,扩展人脉的社群,成员都是经过审核的移动开发工程师。每周都会举行嘉宾分享,话题讨论等活动。 本期,我们邀请了 ...

85850
来自专栏Golang语言社区

Golang 语言开发 APP 服务器流程(个人经验)

废话不多说,直接来干货。 APP 目前开发的有些团队还在既有安卓又有IOS再开发,其实这样的团队配置已经过时。现在跨平台打包支持的越来越多,所以团队上可以回头...

79740
来自专栏北京马哥教育

Python黑科技:利用Python实现微博监控小姐姐动态

? 0x00 前言: ? 前几个星期在写一个微博监控系统 可谓是一波三折啊 获取到微博后因为一些字符编码问题 导致心态爆炸开发中断 但是就在昨天发现了另外一个...

64350
来自专栏Python中文社区

一键获取免费真实的匿名代理

專 欄 ❈夏洛之枫,从销售转为程序员,Python爬虫爱好者。 github: https://github.com/ShichaoMa/proxy_fact...

30360
来自专栏Python专栏

Python | 利用Python实现微博监控小姐姐动态

作者:奶权 来源:http://www.jianshu.com/p/9e7ba0a0a610

42520
来自专栏ThoughtWorks

聊一聊契约测试 | 洞见

如果从契约产生的阶段来说,现有资料表明最早要追溯到西周时期的《周恭王三年裘卫典田契》,将契约文字刻写在器皿上,就是为了使契文中规定的内容得到多方承认、信守,“万...

15750

扫码关注云+社区

领取腾讯云代金券