假设我正在编写一个函数来转换温度范围.我想至少支持Celsius,Fahrenheit和Kelvin.将源比例和目标比例作为函数的单独参数或某种组合参数传递是否更好?
示例1 - 单独的参数:function convertTemperature("celsius","fahrenheit",22)
示例2 - 组合参数:function convertTemperature("cf",22)
函数内部的代码可能在其中.使用两个参数,确定我们将要使用的公式的逻辑稍微复杂一些,但单个参数在某种程度上感觉不对.
思考?
使用第一个选项,但不是允许文字字符串(容易出错),如果您的语言支持,则采用常量值或枚举,如下所示:
convertTemperature (TempScale.CELSIUS, TempScale.FAHRENHEIT, 22)
取决于语言.
通常,我会在枚举中使用单独的参数.
如果它是面向对象的语言,那么我建议使用温度等级,温度存储在内部然后你喜欢然后用它来输出它需要的任何单位:
temp.celsius(); //以摄氏度返回对象临时温度