当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

诊断Java代码: Repl供应交互式评价[Java编程]

赞助商链接



  本文“诊断Java代码: Repl供应交互式评价[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

普通,在运行 Java 程序时,必须利用 String[] 输入参数将参数传入,从 main() 办法运路程序.但是假如程序仍在调试中,那么,这大概会成为一项沉重的任务.本月,Eric Allen 谈论对程序中的表达式和语句举行交互式评价的长处,并且供应几个帮忙您处理这一任务的 Java repl(“read-eval-print-loop”工具,“读取-评价-打印-循环”工具).他还谈论交互式评价若何帮忙构建 GUI 和摸索新的 API.

大都程序都包含很多办法,这些办法分布在为数众多的类中.毫无疑问,从程序的 main 进口点测试全部这些办法,即便不是不大概的,也是很艰难的.

这就是单元测试之所以有效的缘由.很多程序员和软件计划人员(包含我自己)夸大单元测试在编写结实的的软件时是有效的.但是假如您想可以以一种交互性更好的方法拜候程序中的各种元素时,则大概要折衷一下.

当确切要这样做时,为每个后果编写、编译并运行新的单元测试就会很快变成一件沉重的事情.我发现,当不能预知赐与特定输入后程序将表现出什么行为时(比方:在 AI 程序中大概就会呈现这种情形),特别如此.

那么,该怎么办呢?

不要为小窜改焦急

为了作一个类比,请考虑用普通情形下举行编译的语言(比方:Java 或 C++)编程和用在更多情形下举行注释的语言(Python 或 Scheme)编程之间的差别.

在编译型语言中,每个编写/测试/调试循环都必须包含编译这一额外的步骤,这大概是一个单调乏味的阅历,特别是关于一些小窜改而言.这大概会使我们得出结论说,注释型语言更流利,因而也更易于改正.(这种机动性是有代价的:注释型语言普通更少对代码履行静态查抄,比方范例查抄.)

正若有时刻我们大概想对程序作个窜改,但没必要阅历重编译的麻烦一样,我们也大概想查抄程序中的一些元素,但没必要例行公务般在套件中增添一个新的单元测试.当确切想这样做时,拥有传统上称为“读取-评价-打印-循环”(即 repl)的工具大概会有所帮忙.

repl是一个基于文本的工具,它以表达式作为输入,在特定程序的上下文中举行评端,然后显示后果.接着,它等候得到另一个表达式作为输入,然后反复这些操作.这样的工具源于近似 Lisp 的语言,但它们也能在更新的语言(比方:Python)中利用.

repl 在 Java 编程中的好处

这样的工具并非仅仅在这些语言中是有效的.Java 程序员也可以从利用 repl 中得到好处,不只是调试方面,在别的方面也可以.

构建 GUI

当组装一个 GUI 时,有很多组件需求安置和衔接.当构造 GUI 时,您必定会碰到以下这些事情:

组件之间将以不可见的方法彼此作用.

在运行 GUI 之前写出其全部代码是相当费时的.

一旦您看到了 GUI 的实际视觉效果,不可避免地,您将会想更改 GUI 的某些方面.

这个问题的一种常见的“办理筹划”是利用图形化的 GUI 构建工具,比方那些包含在 JBuilder、Forte 和别的 IDE 中的 GUI 构建工具.我个人不喜好这种办法 ― 您很难知道这个工具会给您生成什么样的 Java 代码,您也不大概在改正所生成的代码时不冒丧失与 GUI 构建工具的兼容性的风险(事实上,有些 IDE 强行禁止您改正机械生成代码的任何部份).

此外,很多这类 GUI 构建工具在生成 Java 代码时都利用专用 GUI 库,因而限制了 GUI 的兼容性.

我发现利用 repl 来构建 GUI 要简单得多.我完好可以交互地定义每一个 GUI 组件,然后顺次显示它.我可以立即改正任何不喜好的东西.然后,我可以与之交互并将这些组件粘贴到程序中.


  以上是“诊断Java代码: Repl供应交互式评价[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 诊断Java代码 - 筹划"可测试的"操纵程序
  • <b>诊断Java代码: 臆想实现错误情势,第2部份</b>
  • 诊断Java代码: 筹划可扩大的操纵程序,第2部份
  • 诊断Java代码::Split Cleaner错误情势
  • 诊断Java代码: Fictitious Implementation错误情势,第1部份
  • 诊断Java代码:筹划可扩大的操纵程序,第1部份
  • 诊断Java代码:孤线程(Orphaned Thread)错误情势
  • 诊断Java代码
  • 诊断Java代码: 单元测试与自动化代码解析协同工作
  • 诊断Java代码: Repl供应交互式评价
  • 诊断Java代码: Liar View错误情势
  • 诊断Java代码: Java编程中的断言和时态逻辑
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .