gpt4 book ai didi

c# - 可以在我的代码中硬编码复杂的数学逻辑吗?

转载 作者:太空狗 更新时间:2023-10-29 19:50:05 24 4
gpt4 key购买 nike

是否有普遍接受的编写复杂数学代码的最佳方法?例如:

double someNumber = .123 + .456 * Math.Pow(Math.E, .789 * Math.Pow((homeIndex + .22), .012));

这是可以硬编码数字的地方吗?还是每个数字都应该有一个与之关联的常数?还是有其他方法,比如将计算存储在配置中并以某种方式调用它们?

以后会有很多这样的代码,我正在努力保持它的可维护性。

注意:上面显示的示例只是一行。将有数十或数百行这样的代码。不仅数字会改变,公式也会改变。

最佳答案

一般来说,有两种常量——一种是对实现有意义的,一种是对业务逻辑有意义的。

可以对第一类常量进行硬编码:它们对于理解您的算法是私有(private)的。例如,如果您使用 ternary search并且需要将区间分成三部分,用硬编码的3来划分是正确的做法。

另一方面,在程序代码之外具有意义的常量不应该被硬编码:给它们明确的名称给在你离开公司后维护你的代码的人非零机会进行正确的修改而不必须从头开始重写内容或通过电子邮件向您寻求帮助。

关于c# - 可以在我的代码中硬编码复杂的数学逻辑吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18725835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com