学习如何重构PHP代码
目前我正在使用PHP5.2.9。有没有一种方法可以使代码更易于阅读和组织学习如何重构PHP代码,php,Php,目前我正在使用PHP5.2.9。有没有一种方法可以使代码更易于阅读和组织 if ($is_read_only == true) { echo ($affiliate['affiliate_gender'] == 'm') ? MALE : FEMALE; } elseif ($error == true) { if ($entry_gender_error == true) { echo tep_draw_radio_field('a_ge
if ($is_read_only == true) {
echo ($affiliate['affiliate_gender'] == 'm') ? MALE : FEMALE;
} elseif ($error == true) {
if ($entry_gender_error == true) {
echo tep_draw_radio_field('a_gender', 'm', $male) . ' ' . MALE . ' ' . tep_draw_radio_field('a_gender', 'f', $female) . ' ' . FEMALE . ' ' . ENTRY_GENDER_ERROR;
} else {
echo ($a_gender == 'm') ? MALE : FEMALE;
echo tep_draw_hidden_field('a_gender');
}
} else {
echo tep_draw_radio_field('a_gender', 'm', $male) . ' ' . MALE . ' ' . tep_draw_radio_field('a_gender', 'f', $female) . ' ' . FEMALE . ' ' . ENTRY_GENDER_TEXT;
}
您可以将
if($is\u read\u only==true)
更改为if($is\u read\u only)
以及其他if语句,因为放置“==true”
是多余和不必要的我不确定您为什么希望它的行数更少,但您可以这样做:
echo $is_read_only === true
? $affiliate['affiliate_gender'] === 'm' ? MALE : FEMALE
: $error === true
? $entry_gender_error == true
? tep_draw_radio_field('a_gender', 'm', $male) . ' ' . MALE . ' ' . tep_draw_radio_field('a_gender', 'f', $female) . ' ' . FEMALE . ' ' . ENTRY_GENDER_ERROR
: ($a_gender === 'm' ? MALE : FEMALE) . tep_draw_hidden_field('a_gender')
: tep_draw_radio_field('a_gender', 'm', $male) . ' ' . MALE . ' ' . tep_draw_radio_field('a_gender', 'f', $female) . ' ' . FEMALE . ' ' . ENTRY_GENDER_TEXT;
它肯定不是更可读。可读性和压缩性似乎相互矛盾
编辑:
对于it方面的挑战,我更进一步了
echo $is_read_only
? $affiliate['affiliate_gender'] === 'm' ? MALE : FEMALE
: $error && !$entry_gender_error
? ($a_gender === 'm' ? MALE : FEMALE) . tep_draw_hidden_field('a_gender')
: tep_draw_radio_field('a_gender', 'm', $male) . ' ' . MALE . ' ' .
tep_draw_radio_field('a_gender', 'f', $female) . ' ' . FEMALE . ' ' .
($error ? ENTRY_GENDER_ERROR : ENTRY_GENDER_TEXT);
这是我作为一个人所能做的最糟糕的事情
愿上帝怜悯我的灵魂:)我喜欢这样:
if ($is_read_only)
echo ($affiliate['affiliate_gender'] == 'm') ? MALE : FEMALE;
elseif ($error)
if ($entry_gender_error)
echo tep_draw_radio_field('a_gender', 'm', $male) . ' ' . MALE.
' ' . tep_draw_radio_field('a_gender', 'f', $female) .
' ' . FEMALE . ' ' . ENTRY_GENDER_ERROR;
else
echo ($a_gender == 'm') ? MALE : FEMALE , tep_draw_hidden_field('a_gender');
else
echo tep_draw_radio_field('a_gender', 'm', $male) . ' ' . MALE .
' ' . tep_draw_radio_field('a_gender', 'f', $female) .
' ' . FEMALE . ' ' . ENTRY_GENDER_TEXT;
我避免使用太长的附和句,以提高可读性。在很大程度上,{s和}的结果也是混乱的。这取决于您所说的“压缩”的确切含义 因为你还没有澄清,所以你得到了一个基本的回答 删除空格: 如果您希望以某种方式加快代码的速度,请不要费心。压缩(缩小/删除)php文件不会加快其执行时间。PHP每次读取文件,将其编译成字节码并运行。这样做会让你和同事的眼睛流血。别这样 可读性/可用性: 然后,明智的做法是将代码/类/函数相应地划分为有意义且易于阅读的块。这不仅会帮助你,还会帮助那些和你一起工作的人。使用设置缩进级别、间距/括号/嵌套样式等 对于代码性能: 有无数种方法可以改进代码(类/函数/循环/连接/语句),无论是在视觉形式上还是为了代码性能,都可以使用各种工具对其进行分析/测试
希望这能起到指导作用。我想您的代码的格式更好?此外,您可能指的是重构,而不是压缩。有时,将代码分隔开使其更易于阅读,最大的帮助是对嵌套部分进行缩进。压缩通常会使其更难阅读。通过减少代码的行数,您希望获得什么好处?您可以从添加缩进开始。哦,天哪,我的眼睛在流血!让它停下来!英雄联盟我喜欢。迷惑敌人!:P+1确实是一件艺术品。简洁、自我记录、优雅。我现在正在考虑我一直使用的那些多余的换行符,但至少现在我看到了曙光!我向Nickhar道歉,我使用了错误的术语-基本上看类/函数的第三点(代码性能),而不是迷失在冗余的if-else中,等等。。。我想在改进/优化方面做得更好。谢谢你的帮助!在这种情况下,我在这里为您指出一个起点:。在这里,你可以问很多关于以这种或那种方式执行事情的问题,人们会做出回应!