Мне действительно нравится ваш (настоящий) код, и мне, как правило, довольно тяжело нравиться код других людей (у меня не было много времени, чтобы копаться в ZF, но, например, PEAR [у них также есть свои стандарты кодирования], просто ужасно IMO), первый пример, который вы привели, кажется глупым, но что касается второго, это действительно легко понять, по крайней мере для меня, и из короткого фрагмента, который вы предоставили, вы, кажется, имеете последовательный стиль кодирования и используете пробелы в нужном количестве и в нужных местах - это очень важно для чистого кода (если вы мне не верите, просто взгляните на некоторые фрагменты Perl).
Я бы хотел отметить только три вещи:
- Семантика: Хотя
rSum
не является ужасным именем для свойства, не совсем ясно, какие значения оно содержит, возможно, вы могли бы найти более описательное имя для этого свойства?
- Повторное использование переменных: Как я уже говорил, ваш первый пример кажется глупым, но на самом деле разумно использовать переменные по двум основным причинам:
- Вы не тратите память.
- И вы не загрязняете сферу, с которой работаете.
Ваш второй «реальный» пример может быть чище и быстрее, если вы используете правильные функции:
$ this-> rSum = array_flip (explode (",", $ this-> options ["rSum"]));
EDIT : я только что заметил, что приведенный выше код не совсем то, что вы делаете (0
не был обработан моим мозгом), вот еще одна рабочая альтернатива:
$this->rSum = array_fill_keys(explode(",", $this->options["rSum"]), 0);
Кажется, здесь много людей, которым не нравятся однострочники. Я, однако, считаю, что приведенный выше код ясен, эффективен и описателен - но это может быть только я ... =)