Когда мы должны вставлять пустую строку (строки) в исходный код?

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

Является ли это объектно-ориентированным или основанным на концепции? Ответы с примерами были бы наиболее полезными для меня.

Ответ 1

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

  • Единая пустая строка между нечленными функциями (и в С++ между функциями-членами, определенными вне класса)
  • Единая пустая строка между классами.
  • Единственная пустая строка до и после комментариев, относящаяся к нескольким функциям/классам, которые следуют, т.е. которые определяют "разделы" в коде: "вспомогательные функции для обработки XML", такой комментарий.
  • Нет пустой строки между функциями-членами в классе
  • Обычно в функции нет пустых строк. Если функция выполняется в несколько этапов, я могу поместить пустые строки между ними или просто комментарий между ними, объясняющий этапы. Таким образом, очень длинные функции, скорее всего, будут разбиты пробелами, а не то, что я считаю очень долгие функции особенно полезными. Если функция-член имеет внутренние пустые строки, я обычно отделяю ее от других функций-членов в классе с пустыми строками.

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

Блоки комментариев для автоматической документации (Javadoc, Doxygen, Pydoc и т.п.) также обеспечивают визуальное разделение - более чем несколько строк пробелов и более продуктивно, чем любое количество пробелов.

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

Ответ 2

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

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

Ответ 3

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

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

Ответ 4

Отметьте StyleCop для макета исходного кода: http://stylecop.codeplex.com/.
Я бы также рекомендовал FxCop или ReSharper.
Кроме того, Control K D размещает документ, но не сортирует пустые строки?

Ответ 5

Это, вероятно, вопрос предпочтения или стиль дома.

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

Ответ 6

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

  • После каждого конца if/else (последний })
  • После каждого метода
  • После каждого свойства состоит из нескольких строк
  • После сбора поля

Пример:

    string a = "Note: ", b= "This", c= "A", d= "String", e= "Test";
    int f=1, h=1;

    string A { Get; Set; }
    string B { Get; Set; }
    string C { Get; Set; }

    string D 
    { 
        Get 
        {
            Return this.d; 
        }
        Set 
        { 
            if (value == "Foo")
            {
               // DoSomething
            } 

            this.d=value; 
        }
    }
    //empty line

Ответ 7

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

Пустые строки до и после комментариев, которые содержат более одной строки.

Каждый класс получает как минимум две пустые строки до и после.

Функции разделяются одной строкой.

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

Если вам нужно работать с кодом других, я думаю, вы были бы в восторге, если бы они следовали одному и тому же расписанию. Заблуждение в определении функций или классов может быть большой проблемой.

Ответ 8

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

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

то есть рассмотрим этот упрощенный фрагмент php:

function doStuff(){
    $a = new A();
    $result = $a->foo();

    $b = new B();
    $result += $b->bar();

    return $result;
}

Было бы лучше, на мой взгляд, как:

function doStuff(){
    $result = $this->processA();
    $result += $this->processB();
    return $result;
}

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

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