从 Javascript 移植一些代码我遇到了这种不便。例如:
在 javascript 中,我们可以生成此代码。
var a, x, y;
var r = 10;
with (Math) {
a = PI * r * r;
x = r * cos(PI);
y = r * sin(PI / 2);
}
反而
a = Math.PI * r * r;
x = r * Math.cos(Math.PI);
y = r * Math.sin(Math.PI / 2);
在这最后一个示例中,在 PHP、IE 中将是相同的行为,在第二个代码示例中,数学是多余的。
有人有任何解决方案来清晰优雅的代码吗?
我正在添加以下代码作为新示例:
class MyExampleClass {
function example {
for($i = 0; $i < count($this->Registers); $i++) {
$r = "50";
$r .= $this->ZeroFill($this->numericOnly($this->Registers[$i]->Id)), 15) . $this->ZeroFill($this->numericOnly($this->Registers[$i]->Inscription), 25);
$r .= $this->ZeroFill($this->Registers[$i]->Model, 2 );
$r .= $this->PadR($this->alpha($this->Registers[$i]->Date), 10 );
$this->WriteRecord( $r);
}
}
在第三个示例中,我可以在 for 语句中使用 temp $var $this->Registers[$i]
,但如果所有处理代码都在像 Sanitize 类这样的类中。
with (Sanitize) {
$r .= ZeroFill(numericOnly($tmp), 15); // are much more clear and using OO
}
我想要一种方法来做更短且没有重复的代码。