Какой стиль кодирования является более распространенным? - PullRequest
2 голосов
/ 01 мая 2009

Я никоим образом не рекламирую / не продвигаю свой стиль программирования, но что касается «объявлений с несколькими переменными», в каком случае это более приемлемо с профессиональной точки зрения и обычно :

дело 1:

private $databaseURL   = "localhost"  ;
private $databaseUName = "root"       ;
private $databasePWord = ""           ;
private $databaseName  = "AirAlliance";

дело 2:

private $databaseURL = "localhost";
private $databaseUName = "root";
private $databasePWord = "";
private $databaseName = "AirAlliance";

Причина, по которой мне нравится случай 1, заключается в том, что я могу просмотреть его и увидеть, что все правильно, чем в случае 2. Также я могу визуально ознакомиться с именами переменных, которые ускоряют работу с ними в программе .

Ответы [ 14 ]

16 голосов
/ 01 мая 2009

Какой бы стиль ни использовался в проекте, вы не тратите весь день на исправление каждого файла, к которому вы прикоснулись.

14 голосов
/ 01 мая 2009

дело 1.5:

private $databaseURL   = "localhost";
private $databaseUName = "root";
private $databasePWord = "";
private $databaseName  = "AirAlliance";

Я не думаю, что выравнивание точек с запятой делает его более читабельным, просто раздражает изменение значения одной из строк, а затем приходится добавлять или удалять пробелы, чтобы выровнять точки с запятой снова.

В этом случае, похоже, что имена переменных вряд ли изменятся, поэтому все в порядке, чтобы выровнять знаки равенства. Если бы было возможно, что имена переменных изменится, я бы остановился на случае 2, потому что (опять же) было бы неприятно снова все выстраивать. (Представьте себе работу, связанную с простым добавлением новой переменной с именем $databaseLongVariableName.)

8 голосов
/ 01 мая 2009

Случай 2. Когда вы добавляете новую переменную в свою «группу» или добавляете / удаляете символ в одной из этих строк, вам не придется тратить время на то, чтобы возиться, пытаясь все выстроить в линию.

5 голосов
/ 01 мая 2009

Если вы измените все их выравнивания при добавлении новой переменной, то любой инструмент сравнения покажет несколько изменений там. Просто мысль.

Кроме того, я сделал это один раз. Это стало болью в заднице, когда мне пришлось добавить переменную, которая была длиннее. Выделение всех существующих пробелами, чтобы соответствовать, отключило меня от этой техники.

3 голосов
/ 01 мая 2009

Очень соблазнительно приятно выравнивать вещи, я использовал для выравнивания свои средства доступа в PHP, так что

function getName()  { return $this->name;   }
function getAge()   { return $this->age;    }
function getHeight(){ return $this->height; }

Проблема возникает, когда вы добавляете более длинную строку:

function getName()  { return $this->name;   }
function getAge()   { return $this->age;    }
function getNiNumber(){ return $this->ni_number; }
function getHeight(){ return $this->height; }

Если я редактирую три другие строки, то, когда я фиксирую свое изменение, становится труднее увидеть, кто написал конкретную строку и в какой ревизии они это сделали.

3 голосов
/ 01 мая 2009

Интересный вопрос. Насколько я понимаю, нет веских оснований для использования варианта 1. Я никогда раньше не видел этот стиль, за исключением, возможно, конфигурационных файлов, и для правильного форматирования кода требуется дополнительное время. Как только вы измените содержимое переменной, вам также придется сбросить точку с запятой.

Это работает, только если вы используете пробелы ... у любого, кто использует вкладки, могут быть установлены разные позиции табуляции, поэтому он будет выглядеть совершенно по-другому в другом редакторе.

Я думаю, что преимущество читабельности, о котором вы упомянули, несколько компенсируется дополнительными усилиями, необходимыми для его написания.

2 голосов
/ 04 апреля 2010

Выравнивание таких вещей, как = и ;, просто приводит к огромному беспорядку с ошибками в области табуляции, которые проверяются, а затем исправляются позже.

Большинство людей используют отступы слева от строки для отступов, а затем используют пробелы для выравнивания элементов вправо.

Помимо добавления раздувания к файлам, он просто превращается в большой, непоследовательный грязный беспорядок. Для меня это не делает код более читабельным. Для некоторых редакторов код становится даже менее читабельным.

1 голос
/ 01 мая 2009

Вариант использования 2. Это гораздо более стандартно: Google C ++ Style

На самом деле, вам даже не стоит беспокоиться об этом. Ваш редактор должен автоматически автоформатировать ваш код. Попробуйте Ctrl + Shift + F в Eclipse.

0 голосов
/ 04 мая 2010

Вы можете взглянуть на книгу "Экспертные инструменты PHP 5", чтобы лучше понять стилистику кода. * В сети есть электронная книга *

0 голосов
/ 01 мая 2009

Лучше всего выбрать проект, над которым вы работаете. (Если в проекте нет набора правил кодирования, настоятельно рекомендуется потратить пять минут на их определение).

У многих более крупных программ есть инструменты, которые сканируют код в поисках вещей для сортировки и очистки. Добавление пробела в конец переменной может повлиять на некоторые из них.

Также касательно вкладок, я никогда не работал над проектом, который не определял расстояние между вкладками для редактирования. Вы всегда можете использовать свой персональный файл и иметь предварительную ловушку, чтобы редактировать файл перед тем, как он войдет в систему, но беспорядок с пробелами в табло не раздражает людей.

...