作为一个软件开发者,等待各种各样的工具完成他们的任务是每天工作过程中很平常的一部分。毕竟我们经常在等待一个第三方包的安装,一个测试的运行或者一个代码提交的完成。当然我们是不会每次都“放弃”那些必须等待特定工具运行几秒甚至几十秒的工作的,对正在进行的工作保持注意力毕竟也是我们工作的一部分。
然而,保持这种程度的专注是很耗神的,而且我们可能因为这种专注耗费了过多的精神力影响了我们在其他方面的工作:例如在午后更快的感觉到疲惫,或者在自己刚提交的代码中出了一个微小的bug。
以我个人的经验来说,即使是很微小的卡顿或者延迟在积累之后也会产生滚雪球般的恶劣影响。在一个速度很慢的编辑器上切换文件或者是在一个速度很慢的电脑上切换应用都是很烦躁的一件事。我们甚至可以以一种近乎吹毛求疵的态度去关注例如编辑器字符输入延迟之类的细节问题。因为我觉得这些微小的延迟也会产生滚雪球一样的影响,他们影响了我们的生产效率同时使人感到烦躁。
我们设想一下,在开发过程中,你每十秒花了一秒的时间在等待一个任务的完成,这个时间的耗费累积起来,相当于你一周有半天都在等待,或者说一个月有整整两天,抑或是一年的工作时间中你有一个月在等待中过去了。
也许这种估算有点夸张,但是从另一个角度看,你花了一个下午的时间来优化你的开发工具导致你的一整年的工作时间多出来一个星期,这样是否值得你去尝试改进你的工具呢?要我说那是必须的!
建议3:你的开发工具应该保持高响应速度,简单总是好的
#4 不要在一个让你不舒服的编辑环境下工作
使用让我不适应的工具工作会大大影响我的工作效率,我觉得身为读者的你应该也懂这种感觉。一些开发工具非常难以使用,它们会将你的精力和热情完全耗尽。
对你来说,什么工具是你认为在日常的开发过程中最重要的呢?如果要我来回答,那肯定是我的代码编辑器。对有些开发者来说可能是答案是他们的邮件客户端或者团队的聊天应用,但我们还是希望一天大部分的工作时间是用在写代码上的。
这就意味着将时间投入在一个令人愉悦的代码编辑环境中是绝对值得的,因为这样做的直接结果就是更高的工作效率,还有更加愉快的心情!
作为Python开发者我们有很多编辑器或是IDE工具供我们选择,例如Vim, Emacs, PyCharm, Wing IDE, Atom, Eclipse PyDev, Sublime Text等等等等。
在经过长时间的适应和调整还有对各种代码编辑器及IDE的尝试后,我最终选择了使用Sublime Text。它的高响应速度,简单的结构和稳定性是我选择它的原因。它和我现在的编程工作配合的很好。我最终选择它也是我尝试了非常多其他的编辑器和IDE之后做出的决定。
你并不需要选择和我一样的工具。我所要表达的意思是你需要找到最适合你自己且符合你独特需求的工具去工作。所以请多找一些编辑器去尝试尝试看哪种你最喜欢,这对你的工作效率大有裨益。
建议4:找到适合你的编辑器并把它弄成你需要的样子
#5 在购买需要的工具时,不要吝啬
我曾经和一个使用收费编辑器的人一起合作写代码。但是这个开发者不愿意花钱购买这个编辑器的正式版本,他们用这个编辑器的试用版来代替正式版进行工作。
而这个使用版本在你保存文件之后,每隔一两分钟就会跳出一个弹窗来提醒你购买正式版。这个开发者又有经常保存文件的习惯,所以他每天都会看到这个弹窗成百上千次…
要和这些弹窗说再见需要购买一个70美元的正式版执照。虽然我很欣赏勤俭节约的精神,但是在这件事上我觉得这样节省实在太荒谬了。在你经常使用的开发工具上抠门和想办法省小钱是很愚蠢的,我很确定你在处理这些弹窗和由此带来的一系列问题上的损失绝对超过70美元了。
如果你是在为自己工作,则这些执照上的花费是可以作为商业费用从你的税费中扣除的。如果你是在为某个公司工作我确信在你解释清楚为什么需要这些工具且这些工具能有效的提升你的工作效率之后,公司的管理者会愿意为你在工具上的这笔投入买单的。
和美术设计师或者建筑师相比,程序开发者花在购买软件开发工具的许可证上的钱实在是少多了,甚至有一部分非常棒的工具和编辑器是免费的。将钱投入在合适的工具上是很合理的而且你的工作也会因此受益。
建议5:将钱花在让你感到舒服和更有效率的工具上是值得的
#从哪里开始实践呢?
在上面的内容里我已经给出了五个比较容易在开发中出现并且严重影响工作效率的问题。还好大部分这些问题相对容易解决,只要你使用下面这些正确的方法:
- 建议1:使用像Pyflakes这样的静态代码分析工具
- 建议2:选择一个特定的代码风格然后用自动化工具去保证代码遵从了这种风格
- 建议3:你的开发工具应该保持高响应速度。简单总是好的
- 建议4:找到适合你的编辑器并把它弄成你需要的样子
- 建议5:将钱花在让你感到舒服和更有效率的工具上是值得的
下面是一个应用这些方法很好的开端:找到一个最让你感到头痛的问题。将这个问题大而化小的一步步解决,而不是急于求成的一口吃个胖子,每次解决一个小问题,持续保持这种状态,可以看到问题已经逐渐被你搞定了。
将这些改变视为一种长线投资–即使是最小的变化也会在一段时间后给你的工作效率带来显著提升。以我个人经验来说,成功不过是培养好习惯和优秀思维方式的一种持续过程罢了。
一个好的开发环境会让你对解决工作中的问题更有信息,也更有效率。当你对你的Python工作环境感到舒适时,你在工作中会更加愉快,同时也能感受到更多乐趣。祝你好运!
注1:自行车棚效应是一个用来表示程序员之间对于一些无关紧要的细节争论的名词。
(1)Python所有方向的学习路线(新版)
这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
最近我才对这些路线做了一下新的更新,知识体系更全面了。
(2)Python学习视频
包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。
(3)100多个练手项目
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。