gpt4 book ai didi

parameters - 何时使用常量作为参数而不是魔法值

转载 作者:行者123 更新时间:2023-12-03 12:51:26 27 4
gpt4 key购买 nike

我读过(并且普遍同意)为了提高代码的易读性,您应该使用常量而不是魔数(Magic Number)作为方法参数。例如,使用 PHP:

// no constants ////////////////////
function updateRecord($id) {
if ($id == -1) {
// update all records
} else {
// update record with "id = $id"
}
}

updateRecord(-1); // future maintainer says: "wtf does -1 do?"
// and then has to jump to the function definition

// with constants: /////////////////

define('UPDATE_ALL', -1);

function updateRecord($id) {
if ($id == UPDATE_ALL) {
// update all records
} else {
// update record with "id = $id"
}
}

updateRecord(UPDATE_ALL); // future maintainer says: "woot"

是的,这不是一个很好的例子,我知道......

所以,我可以看到这是一件更好的事情,但它提出了一个问题,你应该多久做一次?如果它适用于每个函数,您最终会得到一大堆常量定义。

你会在哪里划线? 一直坚持使用常量而不是魔数(Magic Number),还是根据相关函数的用法采用混合方法?

最佳答案

So, I can see how this is a Better Thing, but it raises the question of how often you should do this? If it is for every function, you'd end up with a metric shirtload of constant definitions.



如果每个函数都采用“魔法参数”,那么您就已经大错特错了。

我总是使用常量。如果你认为这意味着你有太多的常量,那么这只是反射(reflect)了你设计中的其他缺陷。

关于parameters - 何时使用常量作为参数而不是魔法值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2249109/

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