【发布时间】:2012-01-28 00:06:11
【问题描述】:
我需要用BigDecimal做很多运算,我发现不得不表达
Double a = b - c * d; //natural way
作为
BigDecimal a = b.subtract(c.multiply(d))//BigDecimal way
不仅丑陋,而且是我和业务分析师之间错误和沟通问题的根源。他们完全能够使用 Doubles 读取代码,但现在却不能。
当然,一个完美的解决方案是 java 对运算符重载的支持,但由于这不会发生,我正在寻找一个 eclipse 插件,甚至是一个外部工具,可以自动从“自然方式”转换为“bigdecimal”方式”。
我不是试图预处理源代码或动态翻译或任何复杂的东西,我只是想要一些我可以输入文本和获取文本的东西,并保持“自然方式”作为评论源代码。
P.S.:我找到了this incredible smart hack,但我不想开始进行字节码操作。也许我可以用它来创建一个 Natural2BigDecimal 翻译器,但如果有人已经做过这样的工具,我不想重新发明轮子。
我不想切换到 Scala/Groovy/JavaScript,我也不能,公司规则禁止在服务器端代码中使用除 java 之外的任何东西。
【问题讨论】:
-
我猜这是“如果你想把事情做好,就自己做(Zorg,第五元素)”的问题之一。
-
这仅适用于你真的擅长某事。就我而言,当我想把事情做好时,我会寻找一个成熟的开源项目。
-
我认为他正在寻找一种工具,您可以在其中放入算术表达式,然后将 BigDecimal 语法粘贴回源代码,这应该可以保证它没有错误。
-
我不同意。我没有更快地输入 BigDecimal 表示法,这是我的错,但我认为在自然表示法中并且我在转换为 BigDecimal 时会出错,即使我是一个完美的翻译,我仍然需要用 BigDecimal 表示法编写更多的字符。此外,我可以要求业务分析师学习,但在这种情况下,我预计他们会犯更多错误,因为他们正在学习新东西。我认为“我的兴趣”是提高我正在构建的最终产品的质量,甚至为我的开发过程增加一些复杂性。
标签: java eclipse plugins bigdecimal