5个提升效率的 Python 开发和配置的小技巧
每一个刚开始使用Python的开发者,通常都为布设一个有效的开发环境感到困扰。因为找到一套自己能顺畅使用的环境且为此培养一个正确的习惯是很困难的。而大多数入门级的Python程序员是可以通过应用一些重要的技巧和工具来摆脱这个瓶颈,从而提升他们的工作效率的。
这篇文章是用来帮助程序员朋友们认识并解决五个在Python开发配置中常见的问题。如果你能在开发中避免这些问题,作为你一个Python开发者你会获得更好的开发体验并且有更高的开发效率。
编译器的归编译器
当开发者把时间用在做一些电脑能做的更好的事情上时,这可以称之为一种时间上的浪费,一个典型的例子就是程序员将时间花在寻找一些可以被自动化工具更准确定位的bug上。
可能是由于Python动态语言的特性以及早期被视为“脚本”语言的原因,到现在依然很少看到有静态代码分析工具和拼写检查器用在Python上。
然而此类工具是非常有帮助的,他们基本上能将特定类型的bug和语法错误完全检查出来并提醒开发者避免犯这些错误。例如,这些工具能找到影响代码正常编译的功能性bug,像是错误拼写的标识符或是发现一些代码的质量问题,例如没有使用过的变量和引用。
当然这并不是说静态分析工具就是万能良药,但至少他们的确帮助我们减少了debug和代码审查的时间,也减少了开发初期的时间投入。如果你只想要一个,仅仅一个工具用来提升你的Python代码质量,同时不被错误的纠正以及啰嗦的提示信息干扰,那么我推荐你使用Pyflakes。Pyflakes是一个开源免费的拼写检查工具,并且非常容易安装。
为了更快的得到反馈以及更早的发现bug,我建议你将Pyflakes集成到你的代码编辑器和后台服务器上。将自动修正代码错误的功能融入你的整个开发流程,这能让你在工作时更加轻松。不过,请保证你的团队里所有的开发者都在使用同一套配置,以避免通过的程序中有未被发现的告警。
建议1:使用像Pyflakes这样的静态代码分析工具
避免无意义的代码风格讨论
你的团队会在开发中进行代码审查?那是最好的!但是请注意,缺少经验的代码审查者经常犯的一个错误就是花费太多时间反馈一些自动化工具就能帮他们做好的东西。是的,我说的就是代码风格问题。
开发团队在代码审查时非常容易陷入一种讨论代码风格的情境中,大多数时候他们讨论的都是诸如“这里应该多加一个空格”或者“类命名应该用驼峰命名法”之类的东西。这是一个典型的“自行车棚效应”的例子,它阻止了开发者去关注一些真正应该被关注的问题,那些会导致投入更多资金和时间去维护的问题。
快速解决这些问题的方法就是选一个可以从网上找到的Python代码风格指导手册,例如PEP8或者Google的Python代码风格指南,然后利用自动化工具去确保项目代码遵从了指南里的风格。
这里推荐使用以PEP8为基准风格的Pycodestyle或者flake8代码风格检查工具。他们可以有效避免大多数的关于代码风格的争论,同时能让你的团队更加专注在更应该关注的问题上。
建议2:选择一个特定的代码风格然后用自动化工具去保证代码遵从了这种风格
千里之堤溃于蚁穴 —— 卡顿和死机的影响
有研究表明,网站加载时间对用户是否放弃浏览网站有很大的影响——如果人们对等待感到疲倦和不耐烦,他们放弃浏览网站的可能性将大大提高。
作为一个软件开发者,等待各种各样的工具完成是我们每天工作过程中很平常的一部分。毕竟我们经常在等待一个第三方包的安装,一个测试的运行或者一个代码提交的完成。然而,持续这样的等待是很耗神的,而且我们可能因为这种专注耗费了过多的精神力而影响了我们在其他方面的工作:例如在午后更快的感觉到疲惫,或者在自己刚提交的代码中出了一个微小的bug。
即使再微小的卡顿或者延迟积累到一定程度也会产生滚雪球般的恶劣影响。在一个速度很慢的编辑器上切换文件或者是在一个速度很慢的电脑上切换应用都是很烦躁的一件事。我们甚至可以以一种近乎吹毛求疵的态度去关注例如编辑器字符输入延迟之类的细节问题。因为我觉得他们影响了我们的生产效率同时使人感到烦躁。
我们设想一下,在开发过程中,你每十秒花了一秒的时间在等待一个任务的完成,这个时间的耗费累积起来,相当于你一周有半天都在等待,或者说一个月有整整两天,抑或是一年的工作时间中你有一个月在等待中过去了。
也许这种估算有点夸张,但是从另一个角度看,你花了一个下午的时间来优化你的开发工具导致你的一整年的工作时间多出来一个星期,这样是否值得你去尝试改进你的工具呢?要我说那是必须的!
建议3:你的开发工具应该保持高响应速度,简单总是好的
不要在一个让你不舒服的编辑环境下工作
使用让你不适应的工具工作会大大影响你的工作效率。一些开发工具非常难用,它们会将你的精力和热情完全耗尽。
对你来说,什么工具是你认为在日常的开发过程中最重要的呢?如果要我来回答,那肯定是我的代码编辑器。对有些开发者来说答案可能是他们的邮件客户端或者团队的聊天应用,但我们还是希望一天大部分的工作时间是用在写代码上的。
这就意味着将时间投入在一个令人愉悦的代码编辑环境中是绝对值得的,因为这样做的直接结果就是更高的工作效率,还有更加愉快的心情!
作为Python开发者,有很多编辑器或是IDE工具供我们选择,例如Vim, Emacs, PyCharm, Wing IDE, Atom, Eclipse PyDev, Sublime Text等等。
在经过长时间的适应和调整,和对各种代码编辑器及IDE的尝试后,我最终选择了Sublime Text。它的高响应速度,简单的结构和稳定性是我选择它的原因。当然,每个人都可以有不同的选择,但记得你需要找到最适合你自己且符合你独特需求的工具去工作。
所以请多找一些编辑器尝试看哪种你最喜欢,这对你的工作效率大有裨益。
建议4:找到适合你的编辑器并把它弄成你需要的样子
在购买需要的工具时,不要吝啬
我曾经和一个使用收费编辑器的人一起合作写代码。但是这个开发者不愿意花钱购买这个编辑器的正式版本,他们用这个编辑器的试用版来代替正式版进行工作。
而这个试用版本在你保存文件之后,每隔一两分钟就会跳出一个弹窗来提醒你购买正版。这个开发者又有经常保存文件的习惯,所以他每天都会看到这个弹窗成百上千次......
要和这些弹窗说再见只需要购买一个70美元的正版执照。虽然我很欣赏勤俭节约的精神,但是在这件事上,我觉得这样节省实在太荒谬了。在你经常使用的开发工具上抠门和想办法省小钱是很愚蠢的,在处理这些弹窗和由此带来的麻烦的损失绝对超过70美元了。
如果你是在为自己工作,这些花费是可以作为商业费用从你的税费中扣除的。如果你是在为某个公司工作我确信在你解释清楚为什么需要这些工具且这些工具能有效的提升你的工作效率之后,公司的管理者会愿意为你在工具上的这笔投入买单的。
和美术设计师或者建筑师相比,程序开发者花在购买软件开发工具的许可证上的钱实在是少多了,甚至有一部分非常棒的工具和编辑器是免费的。将钱投入在合适的工具上是很合理的而且你的工作也会因此受益。
建议5:将钱花在让你感到舒服和更有效率的工具上是值得的
以上,罗列出了五个比较容易在开发中出现并且严重影响工作效率的问题,还好大部分都比较容易解决。当你对你的Python工作环境感到舒适时,你在工作中会更加愉快,同时也能感受到更多乐趣。祝你好运!
猜你喜欢LIKE
相关推荐HOT
更多>>python怎么开发web
Python有多种框架可以用于Web开发。以下是一些常用的PythonWeb框架:1.Django:Django是一个功能强大的Web开发框架,提供了完整的MVC(模型-视图...详情>>
2023-06-15 09:06:25python常见异常类型
Python中常见的异常类型包括但不限于以下几种:1.`SyntaxError`:语法错误,通常是由于代码编写不符合Python的语法规则导致的。2.`IndentationE...详情>>
2023-06-14 15:55:49python中print()函数该怎么用
在Python中,`print()`函数用于将指定的值输出到标准输出设备(通常是控制台)。它是一个内置函数,可以在Python程序中使用。`print()`函数的基本...详情>>
2023-06-07 15:19:45Python中的复杂if语句
在Python中,if语句可以包含相当复杂的逻辑和条件。以下是一些用于构建复杂if语句的有用技巧:1.使用括号以改善可读性:额外的括号可以使if语句...详情>>
2023-04-20 15:52:04正则化是什么意思?正则化技术解析
正则化(Regularization)是一种用于解决过拟合问题的机器学习技术,采用一种惩罚项来平衡模型的复杂度和性能,减少模型的泛化误差。在机器学习中...详情>>
2023-04-11 13:39:34Python培训问答更多>>
新爬虫软件是什么?就业前景如何
新Python指的是什么?就业前景如何
新python培训课程费用大概是多少?
新python爬虫是什么?基本概念和类型解析
新学python有什么用?对职业发展有实际性帮助吗
新学会python能干什么?python学习需要注意什么
新学c语言还是python?哪个学得快
Python面试题库 更多>>
Python中的pass语句是什么?
怎样将字符串转换为小写?
怎么移除一个字符串中的前导空格?
python中的标识符长度能有多长?
Python区分大小写吗?
解释Python中的join()和split()函数
- 北京校区
- 大连校区
- 广州校区
- 成都校区
- 杭州校区
- 长沙校区
- 合肥校区
- 南京校区
- 上海校区
- 深圳校区
- 武汉校区
- 郑州校区
- 西安校区
- 青岛校区
- 重庆校区
- 太原校区
- 沈阳校区
- 南昌校区
- 哈尔滨校区