小编And*_*gin的帖子

TDD的要求不明确

我知道TDD有很多帮助,当你第一次创建测试然后实现这个功能时,我喜欢这种开发方法.这是非常明确和正确的方式.

但由于我的项目有一些风味,经常发生的是,当我开始开发一些模块时,我对我想要的东西知之甚少,以及它最终会如何看待.这些要求在我开发时出现,当我删除全部或部分旧代码并编写新代码时,可能会有2或3次迭代.

我看到两个问题:1.我希望尽快看到结果,理解我的想法是对还是错.单元测试会减慢此过程.因此,在代码完成之后我经常会编写单元测试,这是一个糟糕的模式.2.如果我第一次编写测试,我不仅要重写代码两次或更多次,还要重写测试.这需要很长时间.

有人可以告诉我在这种情况下如何应用TDD?

提前致谢!

tdd unit-testing

6
推荐指数
3
解决办法
582
查看次数

MVC - 谁格式化模型?

在渲染到视图模型之前,应格式化:

  1. 多语言数据本地化;
  2. 日期,时间值格式化;
  3. 数字格式化.

谁执行所有这些格式 - 控制器或视图?

我是对的,所有的格式都是由Controller执行的,它创建了只包含格式化值的所谓ViewModel,并将此ViewModel发送给View?

提前致谢!

model-view-controller

6
推荐指数
1
解决办法
818
查看次数

具有数据源部署的Tomcat 6 webapp

在开发环境和生产环境中使用数据源部署应用程序的最佳方法是什么?

建议使用META-INF/context.xml指定Tomcat上下文,但我不明白如何在context.xml中指定数据源:

  1. 将数据库密码放在context.xml中是不安全的,所有人都可以查看;

  2. 如何为生产和开发模式维护两个不同的数据源?

你怎么解决这个问题?

tomcat datasource context.xml

6
推荐指数
2
解决办法
2314
查看次数

MySQL重复ID

可能会以某种方式发生MySQL两次生成相同的自动增量ID吗?

我们有以下情况:

  1. 创建了id = 100的帐单;

  2. 然后它被删除了;

  3. 然后创建另一个账单,它具有相同的id = 100;

表的结构是:

CREATE TABLE `bill` (
  `id` int(11) NOT NULL auto_increment,
  `user` int(11) NOT NULL,
  `date` datetime NOT NULL,
  `state` int(11) NOT NULL,
  `adv` bit(1) NOT NULL default b'0',
  `weight` int(11) default NULL,
  PRIMARY KEY  (`id`),
  KEY `FK2E2407EC768806` (`user`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;

ALTER TABLE `bill`
  ADD CONSTRAINT `FK2E2407EC768806` FOREIGN KEY (`user`) REFERENCES `user` (`id`);
Run Code Online (Sandbox Code Playgroud)

可能有一些竞争条件或MySQL是否保证独特的自动增量ID?

更新:我们无法重现这种情况,但我们记录了它.

mysql auto-increment

6
推荐指数
1
解决办法
1951
查看次数

番石榴条纹的正确条纹数是多少?

我想使用 Guava Striped Lock 提供对资源的锁定访问。例如

Striped<Lock> keyLocks = Striped.lazyWeakLock(10)
Lock lock = keyLocks.get("resourceId")
// use lock...
Run Code Online (Sandbox Code Playgroud)

我找不到任何指南如何选择正确数量的条纹:

Striped.lazyWeakLock(int stripes)
Run Code Online (Sandbox Code Playgroud)

应该stripes是绑定处理器核数还是什么?

java concurrency locking guava

6
推荐指数
1
解决办法
1481
查看次数

原始单元测试

是否值得为这样简单的代码编写单元测试:

public class TableController {
  private TableView view;

  public TableController(TableView view) {
    this.view = view;
  }

  public void onShowTable() {
    view.showTable();
  }
}
Run Code Online (Sandbox Code Playgroud)

我的项目中有很多这样非常简单的代码,它们连接控制器,视图,服务,远程服务等.单元测试只是重复所有内容,通常比代码本身大:

public class TableControllerTest {
  @Test
  public void showTable() {
    TableView view = createMock(TableView.class);
    view.showTable();

    replayAll();

    TableController controller = new TableController(view);
    controller.onShowTable();

    verifyAll();
  }
}
Run Code Online (Sandbox Code Playgroud)

真的需要这样的测试吗?

谢谢!

tdd unit-testing

5
推荐指数
2
解决办法
214
查看次数

浏览器图形:Java Applet vs Flash vs其他什么?

我们销售使用客户专辑编辑程序(适用于Windows)客户创建的photoalbums.现在我们将开发一个在线程序,以便客户可以在浏览器中创建他们的相册:上传照片并进行编辑.这将是一个丰富的浏览器应用程序,具有完整的图形支持.

问题是要使用什么技术?

我们的服务器应用程序是用Java构建的,我们考虑Java Applet,以便我们可以重用一些Java代码.我们对Flash也不是很熟悉.但有些人说Flash是首选.

也许现在有一些现代技术?SVG或一些谷歌技术(如GWT,但有图形支持)或什么?

你怎么看?

提前致谢!

UPDATE

相簿编辑器是使用GWT + SVG创建的.

java browser flash graphics applet

4
推荐指数
1
解决办法
2724
查看次数

GWT 100%高度面板带滚动条

任何人都可以帮我在GWT中进行正常的布局.

我需要一个主面板:

  1. 填充所有浏览器空间(100%高度);

  2. 如果被折叠太多则显示滚动条(自动滚动).

当我使用旧布局(RootPanel,VerticalPanel)时,我有滚动,但不能获得100%的高度.

当我使用新的布局(RootLayoutPanel,DockLayoutPanel)时,我得到100%的高度,但我没有得到任何滚动.而且我在IE中遇到了一些麻烦.

是否有任何样本展示如何实现这两个目标?

提前致谢!

gwt

4
推荐指数
1
解决办法
6578
查看次数

AWT字体渲染和指标替代

AWT字体渲染和指标似乎不适合真正的打印应用程序.字体渲染取决于DPI,FontMetrics给出错误的结果.因此,实际上不可能在边界框内呈现真实文本.

Java可以替代Java渲染真实字体,水平和垂直对齐文本,在边界框内准确呈现文本等等?

我们在JPEG和PNG上呈现小DPI和300 DPI的文本.我们还使用了很多不同的字体.

java fonts

4
推荐指数
1
解决办法
554
查看次数

可以继承@Repository注释吗?

可以继承@Repository注释吗?

我可以创建一个

@Repository
public abstract class BaseRepository {
}
Run Code Online (Sandbox Code Playgroud)

然后在不指定@Repository注释的情况下扩展它?

public class MyRepository extends BaseRepository {
}
Run Code Online (Sandbox Code Playgroud)

我如何知道是否可以继承注释?

java spring annotations

3
推荐指数
2
解决办法
2303
查看次数