Итак, у меня есть эта простая функция, потому что я слишком ленив, чтобы выписывать раскрывающийся список состояний каждый раз, когда мне это нужно. У меня уже есть массив со всеми установленными состояниями, сокращениями как ключи и имена в качестве значений. Он работает отлично, но мне нравится писать краткий, чистый, разборчивый код, и я все еще очень неспособен, поэтому считаю, что я пропустил много глупо простых s *** (цена, которую я плачу за обучение и не практикую часто достаточно).Код для написания кода
Я вижу четыре строки избыточного кода внутри двух основных условных выражений, и я бы переместил их за пределы оператора if, за исключением того, что у меня есть это последнее выражение эха, которое на самом деле является цельной целью для условия в первую очередь , и я не думаю, что повторная проверка переменной $style
- это все, что кошерно.
Есть ли простая практика, которую я просто пропустил, как сделать это чище?
function create_state($style, $form = NULL) {
global $state;
echo '<select name="state">'."\n";
echo '<option value="">--</option>'."\n";
if ($style === 'abbr') {
ksort($state);
foreach ($state as $abbr => $name) {
echo "<option value=\"$abbr\"";
if($form === $abbr)
echo 'selected="selected"';
echo ">$abbr</option>\n";
}
} else {
asort($state);
foreach ($state as $abbr => $name) {
echo "<option value=\"$abbr\"";
if($form === $abbr)
echo 'selected="selected"';
echo ">$name</option>\n";
}
}
echo '</select>'."\n";
}
Если это работает, вы можете искать http://codereview.stackexchange.com/ – 13ruce1337
это должны быть размещены на просмотр кода , не здесь – 2014-09-04 02:13:09
буксировать быстрые подсказки в любом случае: глобальный - плохо проанализировать его в аргументах функции, эхо в функции плохой, объединить вывод и вернуть его как выход функции – 2014-09-04 02:14:43