• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

作为一名PHPER,您如何命名临时变量

php 搞代码 4年前 (2022-01-25) 19次浏览 已收录 0个评论
文章目录[隐藏]

如题,在编写代码的时候,总会遇到一些临时变量
那么你通常会选择给临时变量取个什么名字,
比如

$foo, $a, $x

等等?

本@文来源gao($daima.com搞@代@#码(网5搞gaodaima代码

回复内容:

如题,在编写代码的时候,总会遇到一些临时变量
那么你通常会选择给临时变量取个什么名字,
比如

$foo, $a, $x

等等?

临时变量名,主要就是看用在哪里的
如果是用在循环中的肯定是

$i, $j, $k

如果是用foreach中的话,多数情况会是

$k, $v, $key, $val

如果是用临时使用的

$temp, $t

真不知道是干什么用,还要用的话,一般我叫

$ignore_me

另外就是根据类型叫名称

$int, $num, $str, $arr

简单易读有意义的单词

临时变量跟普通变量一样命名,变量的生命周期不从变量名体现。

<code>    一个变量既然存在,就一定是不能删的。他必然有类型,他必然有用途,既然有类型有用途,他必须有自己的名字,哪怕是 $intNumber、$keyOfUsersArray、$tempFileUploaded 也比 $tmp1、$tempFile 好。    最糟糕的两个变量名是 $data1 和 $data2,我认为再次就是 $tmp 、 $temp 了。    如果你们公司只有一个临时工,那么你可以叫他 "临时工" ,这没问题。但是如果新来了一个临时工呢?叫 "新来的临时工" ?再来怎么办?所以最好的办法是一开始就给他们取个名字。比如 "胖王","李花匠","小寸头","王大力"...</code>

补充一种,《重构——改善既有代码的设计》中介绍的一种去除临时变量的方法——使用查询代替临时变量(Replace Temp With Query):

重构前:

<code class="lang-php">...$basePrice = $this->quantity * $this->itemPrice; //临时变量$basePriceif ($basePrice > 1000) {    return $basePrice * 0.95;} else {    return $basePrice * 0.38;}...</code>

重构后:

<code class="lang-php">...if ($this->basePrice() > 1000) {    return $this->basePrice() * 0.95;} else {    return $this->basePrice() * 0.38;}...//用于代替临时变量的查询式public function basePrice() {    return $this->quantity * $this->itemPrice;}...</code>

书中所述的使用动机:
临时变量的问题在于:它们是暂时的,而且只能在所属函数内使用.由于临时变量只有在所属函数内才可见,所以它们会驱使你写出更长的函数,因为只有这样你才能访问到想要访问的临时变量.如果把临时变量替换为一个查询式(query method),那么同一个class中的所有函数都将可以获得这份信息.这将带给你极大帮助,使你能够为这个class编写更清晰的代码.

循环里的和@lazyboy的差不多,其他的就是变量名加_tmp后缀

不明白为什么非要有“临时”的概念,脚本运行完所有变量全销毁,运行的时候,我们很少会主动unset它,讨论他的生命周期又有什么意义呢。

至于作用域内的,这个随心情呗。

$temp
$tmp

就我来说,如果是单独一个临时变量我会用_完事,多个就要带点含义了,不过总是要以_开头。呵呵。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:作为一名PHPER,您如何命名临时变量

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址