告诉我你的身份证(E)!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了告诉我你的身份证(E)!相关的知识,希望对你有一定的参考价值。

我经常处理非常小的代码片段,最多100行,特别是在我学习新内容并只是使用代码或调试时。

因为我经常更改代码并希望看到它如何改变我的变量和输出的内容,所以它也很繁琐

1)点击调试按钮,等待调试器启动(在我的情况下我使用PyCharm作为IDE),然后检查输出

要么

2)为我想要观察的变量插入一些打印并编译代码(比启动调试器稍快)。

为了消除这个耗时的工作流程,我每隔几秒就会经常点击编译或调试按钮,是否有一个IDE我可以将监视设置为几个变量,然后每次我在源代码中更改一个字符(或者,或者,每半秒一次)IDE自动编译所有内容,然后我将看到我的变量的新值?

(当然,当我中间更改代码时,编译会给出错误,但这没关系。这个功能可以节省大量时间。也许PyCharm已经实现了它?如果没有,理想情况下我希望与语言无关的IDE,类似于PyCharm,也存在Java等变体。如果没有,因为我在Python中编码,Python IDE也会很棒。)

答案

这可能不是您正在寻找的,但PyCharm(以及IntelliJ和其他人)可以在代码更改时自动运行测试。

在PyCharm Run工具栏中,查找“Toggle auto-test”按钮。

例如,在PyCharm中,您可以创建只运行您感兴趣的代码的测试用例并打印您需要的变量。然后创建一个仅运行那些测试并将其设置为自动运行的运行配置。

有关更多详细信息,请参阅PyCharm documentation on rerunning tests

另一答案

IntelliJ的Scala插件正好以“工作表”的形式提供了所需的内容,其中每个表达式的值或其引用的任何值的值都会自动重新编译。

因为(基于你对PyCharm的使用),我假设你主要使用Python,我认为Jupyter notebook是你最好的选择。 Jupyter是语言无关的,但开始特定于python(由于这个原因,它被称为IPython笔记本)。

我没有尝试过,但this guide声称要让Jupyter与PyCharm合作

编辑:这是另一种称为vim worksheet的可能性;我没有尝试过,但它声称与Scala工作表做同样的事情,但是在vim中,以及包括Python在内的多种语言。

另一答案

python Spyder IDE(Anaconda附带)具有此功能。当你点击运行时,你可以看到屏幕右上角的所有变量,你可以点击它们来查看它们的值(这对于Numpy Arrays也非常有帮助!)。

另一答案

如果您对实际的工作流程改进感兴趣:

我曾经像你一样编程,看看我的变量改变了什么,并根据这些修改来设计或调试我的代码,但是设置哪些变量一遍又一遍地观察效率低,成本高,而且如果它有bug,你必须重新进行调试过程。

我改变了我的设计流程以改善我的工作流程并采用了测试驱动开发(TDD),您可以使用它来查看特定实现或IDE的工具,但原则和工作流程仍然随身携带,您可以停止查看变量如何更改而是专注于功能应该做什么,意味着更快的迭代(使用实时测试工具),更容易调试和更好,更安全的重构。

我最喜欢的工具是Cucumber和不可知的工具(用于IDE或编程语言),它可以帮助您测试代码场景并同时记录您的功能。

希望它有所帮助,我知道它是一个非常自以为是的答案,但它是一个诚实的建议,以改善工作流程。

另一答案

你应该尝试Thonny。它由Institute of Computer ScienceUniversity of Tartu开发。

可能对您有帮助的4个功能如下(逐字逐句):

  1. 没有麻烦的变数。 完成hello-world后,选择View→Variables,查看程序和shell命令如何影响Python变量。
  2. 简单的调试器。 只需按Ctrl + F5而不是F5,您就可以一步一步地运行程序,不需要断点。按F6进行大步,按F7进行一小步。步骤遵循程序结构,而不仅仅是代码行。
  3. 单步执行语句 逐步进行表达式评估。如果您使用小步骤,那么您甚至可以看到Python如何评估表达式。您可以将这个浅蓝色的盒子想象成一张纸,其中Python逐个替换子表达式的值。表达评估的可视化
  4. 函数调用的忠实表示。 进入函数调用会打开一个带有单独局部变量表和代码指针的新窗口。很好地理解函数调用的工作原理对于理解递归尤其重要。

以上是关于告诉我你的身份证(E)!的主要内容,如果未能解决你的问题,请参考以下文章

vb MDI窗体怎么用?麻烦告诉我

将项目提交到github时发生了一些错误

将 Django 与两个 Vuejs 组件项目一起使用

什么是回调函数麻烦告诉我

SQL server数据库的权限设置

如何从Microsoft Office文档中完全删除那些暴露你身份的元数据?