小机灵鬼|程序员学Python编程或许不知的十大提升工具

与其他大多数编程语言一样 , Python拥有强大的第三方支持 , 它们提供了各种各样的工具 。 这些工具在创建应用程序的过程中能够大大增强Python的功能 。 调试器是一种工具 , 因为它是一种实用程序 , 而库不是 , 库是用来创建更好的应用程序的 。
即使我们把工具和非工具(比如库)区分开 , 也不能让工具的数量明显减少 。 Python有大量常规工具和特殊工具的支持 , 这些工具被分成以下13类:

  • 自动化重构工具;
  • Bug跟踪工具;
  • 配置和构建工具;
  • 部署工具;
  • 文档工具;
  • 集成开发环境;
  • Python调试器;
  • Python编辑器;
  • Python Shell;
  • Skeleton Builder工具;
  • 测试软件;
  • 有用模块;
  • 版本控制 。
值得注意的是 , Python DevelopmentTools页面上的列表是不完整的 。 除此之外 , 你还可以在其他一些网页中看到大量的Python工具 。
今天异步君挑选了几个需要特别关注的工具进行讲解 。 如果你对Python工具的内容感兴趣 , 你可以自己去网上查找一些其他工具学习一番 。 你可能会发现 , 有些自己想创建的工具其实早就有了 , 而且不止一种 。
##1 使用Roundup Issue Tracker跟踪Bug
现在有很多bug跟踪站点可供我们使用 , 比如:Github、Google Code、BitBucket、Launchpad 。 不过 , 这些公共站点用起来通常都没有你自己定制的本地化Bug跟踪软件那样方便 。 你可以在本地机器上选用多种跟踪系统 , 但是Roundup Issue跟踪器是其中更好的一个 。 Roundup可以运行在所有支持Python的平台下 , 提供了如下基本功能:
  • Bug跟踪;
  • 管理TODO列表 。
如果你愿意在安装上多下点功夫 , 你就可以获得更多的功能 , 这些额外功能体现的正是Roundup和其他产品不同的地方 。 但是 , 要获取这些功能 , 你可能需要安装其他产品 , 比如数据库管理系统(DBMS) 。 Roundup的产品说明中指出了你要安装什么以及它和哪些第三方产品是兼容的 。 安装完成后 , 你会获得如下这些功能 。
  • 客户支持 , 包含如下:
  • 电话应答向导;
  • 网络链接;
  • 系统和开发问题跟踪工具 。
  • 互联网工程任务组(Internet Engineering Task Force , IETF)的问题管理 。
  • 销售趋势跟踪 。
  • 会议论文投稿 。
  • 双盲评审管理 。
  • 博客(目前还很简陋 , 以后会变得很强大) 。
##2 使用VirtualEnv创建虚拟环境
创建虚拟环境的理由很多 , 但主要原因还是为了创造一个安全、已知的测试环境 。 每次都使用相同的测试环境 , 这样可以保证应用程序拥有稳定的测试环境 , 直到你在类似产品的环境中完成足够的测试 。 VirtualEnv为我们提供了创建虚拟Python环境的方法 , 你可以使用它进行早期测试 , 或者诊断由环境原因引发的问题 。 请务必记住 , 你最少需要做3个标准级别的测试 。
  • Bug:检查程序中的错误 。
  • 性能:验证程序是否满足运行速度、可靠性、安全性方面的要求 。
  • 可用性:验证程序是否符合用户需求 , 是否能够按照用户期望的方式响应用户输入 。
根据大多数Python应用程序的使用方式 , Python应用程序在实际工作环境中通常不需要运行在虚拟环境下 。 大多数Python应用程序都需要访问外部环境 , 但虚拟环境会阻止这种外部访问行为 。
永远不要在生产服务器上测试程序
一些开发人员常犯的一个错误是在生产服务器上测试尚未发布的程序 , 这使得用户可以很容易地访问到它 。 永远不要在生产服务器上测试你的程序 , 原因有很多 , 其中最重要的一个是这样做会导致数据丢失 。 如果允许用户访问尚未正式发布的程序 , 而这个程序又包含可能会损坏数据库或其他数据源的Bug , 这样就有可能造成数据的永久丢失或损坏 。


推荐阅读