我是Squeak和Smalltalk的新手,但不是一般的编程人员(我有一些Python经验)。
我了解Squeak环境中存在的各种工具,如工作区、系统浏览器以及Smalltalk语言结构。我知道它们是如何单独工作的,但我不确定如何将它们作为一个整体来使用。
我的问题是,在Squeak中开发时,典型的工作流程是什么。据我所知
I open squeak.
I create a Class in the System Browser.
I then write/test/execute code in the Workspace, adding methods
to my class based on the code I tried out in the Workspace.
Rinse and repeat for other classes.以上是小说者通常遵循的内容,还是我遗漏了一些东西。另外,如果有其他一般的技巧/技巧(如果有的话),我们将不胜感激。
谢谢。
顺便说一句,我确实搜索了一下,并阅读了一些教程,但没有得到任何令人满意的答案,所以请不要使用lmgtfy链接;)
发布于 2011-06-18 17:24:26
你所描述的我称之为个人发展风格。由于没有明确的方法来开发,所以很难说。
但你所描述的是一个可行的选择。特别是在不清楚这些东西是如何组合在一起的情况下。Smalltalk的强大之处在于,您可以将所有对象放在手边。因此,可以在工作区中尝试它。如果你得到了关于它应该如何工作的线索,那么就是时候把你的代码放入方法中了。同时,编写一个测试也是一个好主意。在工作区中,您使用示例值测试了代码。这确实是一个测试。当您将不带值的代码放入方法中时,可以将该方法的用法与示例值一起放入测试中。测试可以帮助你在构建整个东西的时候,识别出你是否改变了一些基本的东西。
我使用的另一种开发风格是使用检查器。特别是如果你是从网上取东西,这很容易做到。假设您从网络上的web api中检索xml。在工作空间中,我发出url抓取命令,并打开结果检查器。在检查器中,我开始解析结果,在每个单独的处理步骤中,我打开另一个检查器处理结果,直到得到我想要的结果。从这一点开始,所有检查员都相互堆叠在一起。您只需从上一步开始从每个检查器创建方法,然后关闭检查器,获取下一个检查器并从中创建一个方法,等等。
最后,很多开发人员喜欢使用调试器进行开发。您只需编写代码,就好像它已经存在一样。您可以在调试器中更改代码,并且能够重新启动当前方法的当前执行。执行它会得到下一个调试器。添加下一个所需的方法,然后继续执行程序。你得到了下一个调试器,等等。
你看,有很多可能的风格。但哪一个是最好的,这是你个人的意见。
发布于 2011-06-18 23:51:52
我通常打开三个窗口:两个浏览器和TestRunner。我编写了一个测试来找出我想要如何与对象-它的API,如果你喜欢的话。然后我运行TestRunner,确保测试失败的原因与我预期的一样。
然后我将做两件事中的一件-要么直接在调试器中编写我需要的新方法,然后重新启动测试,直到它变成绿色,要么转到第二个浏览器并编写我需要的方法。
我偶尔会使用Workspace,主要用作便签簿,就像使用Python的REPL一样。如果您已经编写了一个类端#initialize方法,那么您可能希望从工作区重新初始化您的类。
发布于 2011-06-18 23:55:06
TDD也是开发Smalltalk的一种选择。Squeak是SUnit自带的。
您可以通过运行测试来组合TDD和调试器-测试失败是因为您还没有编写方法-所以您使用调试器创建方法,然后单步执行该方法并编写足够的代码使测试通过。
https://stackoverflow.com/questions/6394956
复制相似问题