软编码与硬编码默认值

时间:2015-07-09 11:24:53

标签: java design-patterns coding-style

我正在为一个api编写一个包装器。我们称之为“Foo”。

Foo请求在单个api响应中对20个对象进行批处理。所以我的api包装器为每个请求都有两个对象:

  1. 请求对象
  2. 请求配置对象
  3. 请求配置包含以下值。

    final int maxBatchSize = 20;
    volatile int sleepBetweenTwoBatches = 0;
    

    现在它以多个批次处理给定对象。

    我需要移动以下配置吗?

    1. maxBatchSize。因为它永远不会改变。如果是配置将存在app修改值并看到来自服务器的无效输入响应的风险。
    2. sleepBetweenTwoBatches的默认值。它是否已经是您为每个请求指定的配置?

1 个答案:

答案 0 :(得分:0)

我是否需要移动以下配置?

当然不是。如果您熟悉Thoughtworks'技术雷达,他们多年来一直在警告过度配置的危险。

http://www.thoughtworks.com/radar/tools/code-in-configuration http://www.thoughtworks.com/radar/techniques/minimizing-application-configuration

  

我们是最大限度地减少应用程序配置的忠实粉丝   确保应用程序在裸机时开箱即用   配置最少。

听,听!