use*_*791 4 java api netbeans netlogo
我正在使用Netbeans开发NetLogo扩展,并且我希望收到关于正确流程的建议以优化我的代码......我通常在NetBeans中编写代码,然后使用此添加到我的构建中在NetBeans中编译扩展. xml(我在这里复制它,因为它可能对某人有用):
<target name="-pre-init">
<property name="project.name" value="myextension" />
<property name="class.manager" value="org.nlogo.extensions.myextension.MyClassManager" />
<manifest file="manifest.mf">
<attribute name="Manifest-Version" value="1.0" />
<attribute name="Extension-Name" value="${project.name}" />
<attribute name="Class-Manager" value="${class.manager}" />
<attribute name="NetLogo-Extension-API-Version" value="5.0" />
</manifest>
</target>
<target name="-post-jar">
<delete file="manifest.mf"/>
</target>
Run Code Online (Sandbox Code Playgroud)
此时,我将.jar拖到右侧文件夹中,并从终端打开NetLogo模型,以查看我的扩展是否写了一些东西/错误/无论如何......因为我不是计算机科学家,我想知道是否这是继续进行的正确方法......我知道它有效,但如果我必须看到我的代码在哪里慢或消耗内存怎么办?也许我可以使用调试器对其进行优化,但在NetBeans之外我不知道如何做到这一点......
我很欣赏专家开发人员最常用的工作流程的建议......
最好的问候,西蒙娜
好问题.我很好奇其他人会如何回应.
我创建了一个符号链接,从扩展使其jar的位置到NetLogo扩展文件夹中的适当命名的文件夹.所以,例如,如果我正在进行网络扩展,我将运行:
ln -s /path/to/NW-Extension /path/to/Netlogo\ 5.0.x/extensions/nw
这样,您就不必经历在每次构建时拖动jar的麻烦.
我知道它有效,但如果我必须看到我的代码在哪里慢或消耗内存怎么办?
对于分析,我使用VisualVM.我知道它随NetBeans一起提供,但您也可以将它作为独立程序运行.它可以连接到任何正在运行的JVM程序.因此,在测试扩展时,只需告诉VisualVM连接到NetLogo(尽管它通常显示为"Local Application pid 42138"或其他内容).采样器非常适合分析.
我在处理扩展时通常不使用调试器.但是,您应该能够从源运行NetLogo(使用5.0.x).我不使用NetBeans,但您应该能够将其指向特定jar的源代码,以便NetBeans知道在哪里查找jar中类的源代码.这应该允许您无缝调试扩展.
这也允许您为扩展编写语言测试.为此,您甚至不需要了解NetBeans的内容; 你可以sbt(它包含在NetLogo中,是构建和运行它的最简单方法).有关详细信息,请参阅我链接到的Wiki页面.
| 归档时间: |
|
| 查看次数: |
268 次 |
| 最近记录: |