
我经常被问到有关如何提高新开发人员的工作/学习效率的提示。 我通常会给出相同的答案,所以我想在这里记录一下,因为我并不总是有时间在现场进行详细介绍。
归结为:
–学习更好地学习
–学习更好的计算机
今天,我将重点指出两个关键细节(嗯,两个半):
1:养成诚实的学习习惯
有很多关于人们有效学习的文章比我精明得多,但是我要特别强调的一点是:如果您想学习一种语言或框架,则必须尽快开始使用它。 。
互联网是发现和获取知识的惊人平台,但是其中一些资源并不总是有利于真正的学习。
我特别在谈论教程和操作方法。 它们是非常可爱的资源-拥有这么多触手可及的东西真是太好了,而且他们当然有自己的位置。 我一个依靠他们,我想快速了解别人对我正在尝试学习的主题的看法,但前提是我已经按照自己的意愿进行了学习。
我花了一段时间才意识到,无论是通过视频还是诸如代码课程之类的交互式课程,教程都具有某种“银弹”的欺骗性。 您觉得自己正在学习,并且在某种程度上理应如此,但是,充其量是在学习记住代码,而不是生成代码。
这并不是说这些内容的创建者是骗子:他们不是这里的骗子-而是,我认为理解一个困难的话题的强烈愿望会使您误入歧途。
一旦您可以编写标记并为
“也许还有更多使用方法,我不觉得很准备。”
问题是,您永远不会真正感到“准备就绪”。 编程是每天面对自己很少了解的实践。
放下您的不安全感,加入进来。我保证,您会遇到问题。 谷歌他们。 那就是真实的工作-遇到实际问题并弄清楚如何开发自己的解决方案。
我知道,这并没有回踢和观看视频那么有趣。 但是,请原谅我仅保留curmudge的做法,与您的Facebook feed中弹出的大多数营销图像可能暗示的相反,学习编程并不总是很有趣:

把它们加起来:
–编写代码
– Google错误
–不要玩
2:自己成为高级用户
我认为这经常被忽视,而且比您想像的重要得多。
尽管您可能听到过,但成为超级用户并不仅仅是保留给33sttest书呆子的象牙塔消磨时间。 除了对窗口管理器配置进行大量调整或根据其CPU体系结构定制系统的C / C ++编译标志之外,它还有更多的功能。 电源使用是一个广泛定义的,持续的学习过程,旨在了解和增加您的日常计算机使用情况。
首先,每个人都可以养成一个习惯- 使用键盘快捷键 。
以这种方式看待它-每笔交易都有工具。 作为开发人员,最有价值的工具是什么(除了您的大脑)? 是的, 您的 计算机 。
您使用计算机的能力直接影响您将思想转化为程序的能力。
编写代码会使用足够的脑力。 您进行的每一次不必要的动作都会阻碍您将思想有效地转化为代码的能力-我称之为“ 认知摩擦” 。 学习键盘快捷键将减少这种摩擦,从而使您更快,更有效地工作。
如果我还没有说服您,请尝试以下操作:确保Atom(或您使用的任何文本编辑器)正在运行并已最小化,然后使用手机的秒表记录将鼠标从该浏览器窗口向下移动所需的时间到扩展坞,然后单击以显示Atom。 充其量我可以做3.35秒 。
现在,再试一次,仅这次使用Command-Tab 。 (用于PC键盘的Alt-Tab 。)这花了我不到一秒钟的时间。
在处理项目时,您在编辑器和浏览器/终端之间切换多少次? 20次? 50次? 算一下,我想您会节省多少时间。
您应该尽最大努力来学习键盘快捷键,以便您发现自己一遍又一遍地用鼠标做的任何事情。
这是我最喜欢的(macOS)快捷方式的列表:
2.5 —圣杯:学习Vim(和一点Emacs)
面对现实,让我们面对现实吧,编写和编辑代码非常尴尬。 奇怪的语法,标点,制表符,空格-手势和杂技并不是很直观。
输入Vim 。 您可能已经听说过它,并被它散发出的深奥的, 耗电的振动吓倒了。 不一定要那样! 只需逐步进行操作即可启动并运行。 我认为任何人都可以学习。 一开始很奇怪,但是从长远来看,它值得。
就减少编辑时的认知摩擦和最大程度地提高效率而言,Vim无疑是最物有所值的(而且,它不花任何钱)。
Vim比污垢更老(至少它的前身是vi)-因此大多数* nix / BSD机器都将安装它。 如果您使用的是macOS或Linux,则可以立即运行它!
不仅如此,您的计算机还附带了一个交互式vim教程!
- 在您的终端机上发出
vimtutor以开始使用。
尽管Vim传统上是基于终端的应用程序,但我认为开始使用它的最佳方法是使用Atom插件vim-mode-plus。 这样,您可以学习基础知识,但是如果需要,可以依靠鼠标或箭头键。
就像我说的那样,Vim一开始很奇怪,但是从本质上来说并不困难 -最初建立肌肉记忆时重复很多。 我认为任何人都可以并且应该学习它。 当我进入开发生涯仅12周时,我自己就开始学习它,并且在几周内,我有足够的时间开始使用它。
我建议看一下这本“渐进方法”手册,并参考我前一段时间写的这份最常用的按键指南。
Vim不仅是一种更好的编辑方式,而且是您可以在简历中引用的一项真正技能 。
假设您是新工作的第一天,老板告诉您从终端ssh进入远程计算机( ssh或Secure Shell,如果您不知道的话,是一种用于远程登录另一台计算机上的tty的实用程序—通过LAN或Internet。)。
如果您需要在该计算机上编辑文件,该怎么做? 请记住,您无权访问GUI。 也许您会使用nano不是最出色的编辑器,但总比没有好。 否则,您必须找到某种方法将其传输到本地计算机,打开它,对其进行编辑,将其传输回去,如果有任何错误,请重新进行整个操作。 真痛苦!
使用vim ,您可以使用所有熟悉的击键在终端中直接编辑文件,就像在本地计算机上进行编辑一样。 并在您的新工作中获得较高职位的赞誉。
当然,最常被引用的Vim替代品是Emacs,它是另一个久经沙场的编辑器,仍然受到社区的喜爱。 我认为Emacs很棒,我希望最终使其成为我的日常司机。 但是,对于新手开发人员,我认为Vim的简单性和普遍性使其值得首先学习。
但是,Emacs绑定现在可以学习和使用-这是Emacs相对于Vim的一个特殊优势。 常见的移动/插入命令几乎可以在任何地方使用 。 我实际上正在使用某些内容,因为我在浏览器中撰写和编辑了这篇文章。
这些键绑定在终端中特别有用,因为您不能仅单击命令行上的某个位置将光标移动到某个位置。
假设您要键入一个命令来复制( cp )文件,然后意识到您实际上要移动它( mv ) 。 通常,您只需按住箭头键,直到到达该行的开头。 使用Emacs绑定,您只需执行Control — a压缩到行的开头, Control — f向前移动2个空格,退格,写mv ,然后按Control — e返回行的末尾并继续写您的命令参数。
这些是我最喜欢的基本Emacs密钥-您只需学习一些即可大大提高灵活性。
如果发现您认为应该在其中的任何钥匙,请随时提出建议!
当然,这引出了您应该学习的第三件事-命令行。 那将需要一个单独的完整帖子-但与此同时,这份简短指南应该可以让您从正确的角度入手。 当然,最好的学习方法是尽可能多地使用它。 我还建议您安装和处理像Arch Linux这样的终端繁重的Linux发行版,它本身也是一个完全独立的主题。
我希望您发现这篇文章有用,或者至少是发人深省的。 如果您有任何问题或意见,请告诉我-我很乐意尽我所能!
Related Content