В чем причина различных форм скобок?

Я читаю Стандарты кодирования Zend Framework, где говорится, что фигурная скобка после определений класса должна быть на следующей строке, «одна истинная форма скобки».

class MyClass
{
    function....
}

У меня обычно фигурные скобки находятся в одной строке:

class OtherClass {
    function ...
}

По какой причине ставится фигурная скобка на следующей строке? Или использовать любой другой стиль, если на то пошло?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
5
0
999
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

Предпочтения пользователя. Это действительно не имеет значения. Когда я разрабатывал на PHP, я использовал второй вариант, но теперь, используя C#, я использую первый.

Ответ принят как подходящий

Личные предпочтения - действительно единственная реальная «причина».

Я думаю, что есть нечто большее, чем просто «личные предпочтения». Программисты, являющиеся людьми, подвержены когнитивным ограничениям, которые могут сделать некоторый формат (каким бы он ни был) более полезным для нашего мозга, когда ему нужно извлечь информацию из «изображения» (например, разделение на блоки).

Jorge 24.06.2013 23:25

Более того, мне интересно, почему мы обычно обсуждаем различия форматирования в коде, а не в других стандартных текстовых языках, таких как XML. Я не помню, чтобы видел XML, отформатированный в стиле K&R (второй в исходном вопросе).

Jorge 24.06.2013 23:28

Я обнаружил, что в большинстве случаев отдельные строки более понятны, но в одном случае, UIView блокирует, легче читать K&R. Это вопрос способности следить за строками на экране глазами, не связанного с личными желаниями. использовать один стиль поверх другого.

Stephen J 26.11.2013 05:21

также спасибо за подсказку, как это назвать: D

Stephen J 26.11.2013 05:22

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

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

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

Часто упоминаются следующие причины:

  • легче сопоставить открывающую и закрывающую фигурные скобки (для первого примера)
  • не тратьте впустую другую строку (чтобы можно было разместить на экране больше строк кода - второй пример)

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

На эту весьма субъективную тему уже есть несколько тем ...

Некоторые люди увлечены этим, лично я выбрал «читаемый» вариант выравнивания скобок (я не плачу за недвижимость, используемую моим кодом на экране ... поэтому компактность меня не интересует), но когда я участвую в проект, использующий другой стиль, я просто использую тот, который связан с моим вкладом. То же самое для размера табуляции, жесткого или мягкого и т. д.

Настоящая причина - иметь единообразный код во всей кодовой базе. Оба стиля имеют свои преимущества: какой из них «лучше», зависит от личных предпочтений, а какой «традиционно» используется в языке и в проекте.

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

То же самое касается вкладок и пробелов.

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

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

Хорошими ресурсами по этому поводу являются следующие статьи Википедии:

Indent Style

Programming Style

Naming Conventions

Имеет ли значение, какой стиль скобок вы используете? Нет. Имеет ли значение, что все, кто работает над одним проектом или исходным файлом, используют один и тот же стиль скобок? Нет; Это не только не имеет значения, но и полезно, если стили скобок различаются от одного кодировщика к другому, даже в одном и том же файле.

«Почему именно этот кусок кода делает это?»

«Я не знаю. Это почерк Кевина. Пойдем, спросим его».

Другие вопросы по теме