【问题标题】:Softcoding vs Hardcoding default value软编码与硬编码默认值
【发布时间】:2015-07-09 11:24:53
【问题描述】:

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

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

  1. 请求对象
  2. 请求配置对象

其中请求配置包含以下值。

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

现在它分批处理给定的对象。

我需要将关注移至配置吗?

  1. maxBatchSize。因为它永远不会改变。将其设置为配置将有风险应用程序修改值并看到来自服务器的无效输入响应。
  2. sleepBetweenTwoBatches 的默认值。它不是您为每个请求指定的配置吗?

【问题讨论】:

  • 有人想要/需要更改这些参数吗?
  • @oliver-charlesworth 1) maxBatchSize :仅当服务器更改它的实现时。每批开始服用超过 20 个元素。 2) sleepBetweenTwoBatches:是的,它可以是特定于应用程序的。但我的观点是,他们可能需要为每个应用程序编写一个工厂方法。所以这可以在那里完成。

标签: java design-patterns coding-style


【解决方案1】:

我需要把关注移到配置吗?

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

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

我们非常热衷于最小化应用程序配置,试图 确保应用程序开箱即用地工作 最低配置。

听,听!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 2012-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多