Почему плохо ставить пробел перед точкой с запятой?

Если вы используете NSFetchedResultsController, как я, и обновляете данные в фоновом потоке, не забудьте начинать и заканчивать обновления в делетете:

- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller {
    [self.tableView beginUpdates];
}

- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller {
    [self.tableView endUpdates];
}
13
задан Jonathan Leffler 24 March 2019 в 18:40
поделиться

9 ответов

Из первого абзаца раздела "Описание":

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

И из третьего абзаца раздела «Описание»:

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

Это просто соглашение программистов Perl о стиле. Если вам это не нравится, вы можете проигнорировать это. Я бы сравнил его с Sun » s Рекомендации по стилю Java или предложения по отступам в книге K&R C . В некоторых средах есть свои правила. Это просто предложения для Perl.

Как Джон Скит сказал в удаленном ответе на этот вопрос:

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

17
ответ дан 1 December 2019 в 06:54
поделиться

Копирование и вставка - самый быстрый способ сделать это с помощью Xcode 3.1, доступного в Интернете. Хотя небольшой скрипт для синтаксического анализа заголовка и выдачи определений протоколов было бы неплохо…

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

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

my $foo = $boolean ?
            $some_long_value
                  :
            $some_other_value
                  ;

Если вы новый программист, набор этого проклятого разделителя операторов может быть большой болью в вашей жизни, но ваши боли со временем изменятся. Позже стиль, который вы выбираете для смягчения одной боли, становится болью. Вы' Со временем я привыкну к синтаксису. Может быть, лучше спросить, почему они уже не выделяются? Если вы используете хороший программный шрифт с более толстыми и крупными знаками пунктуации, вам будет легче их увидеть.

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

8
ответ дан 1 December 2019 в 06:54
поделиться

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

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

Пока.

4
ответ дан 1 December 2019 в 06:54
поделиться

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

Мне также нужен повод для стиля. Если вы не можете четко указать, почему вы предпочитаете тот или иной стиль, правило бессмысленно. В этом случае причину довольно легко увидеть. Ненужные пробелы используются для привлечения внимания к чему-либо или облегчения чтения. Итак, заслуживает ли точка с запятой особого внимания? Каждое выражение (за исключением управляющих структур) заканчивается точкой с запятой, и большинство выражений помещается в одну строку. Так что привлечение внимания к ожидаемому случаю кажется пустой тратой времени и внимания программистов. Вот почему большинство программистов делают отступ в строке, которая является продолжением выражения, чтобы привлечь внимание к тому факту, что оно не заканчивается на одной строке:

open my $fh, "<", $file
    or die "could not open '$file': $!";

Вторая причина, по которой мы используем пробелы, - это облегчить чтение.

foo("bar") ;

легче читать, чем

foo("bar");

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

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

open my $fh, "<", $file
    or die "could not open '$file': $!";

Вторая причина, по которой мы используем пробелы, - это облегчить чтение.

foo("bar") ;

легче читать, чем

foo("bar");

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

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

open my $fh, "<", $file
    or die "could not open '$file': $!";

Вторая причина, по которой мы используем пробелы, - это облегчить чтение.

foo("bar") ;

легче читать, чем

foo("bar");

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

t заботиться о точках с запятой, если файл отформатирован правильно. Конечно, Perl заботится, и если мне что-то не хватает, он сообщит мне об этом.

t заботиться о точках с запятой, если файл отформатирован правильно. Конечно, Perl заботится, и если мне что-то не хватает, он сообщит мне об этом.

4
ответ дан 1 December 2019 в 06:54
поделиться

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

Есть один интересный стиль кодирования, который помещает, и; в начале следующей строки (после отступа). Хотя это не в моем вкусе, он работает, пока он согласован.

Обновление: пример этого стиля кодирования (который я , а не защищаю):

; sub capture (&;*)
   { my $code = shift
   ; my $fh   = shift || select
   ; local $output     
   ; no strict 'refs'
   ; if ( my $to = tied *$fh )
      { my $tc = ref $to
      ; bless $to, __PACKAGE__
      ; &{$code}()
      ; bless $to, $tc
      }
      else
      { tie *$fh , __PACKAGE__
      ; &{$code}()
      ; untie *$fh
      }
   ; \$output
   }

Здесь можно найти защиту : http://perl.4pro.net/pcs.html .

(Обновление 2011 года: эта страница, похоже, ушла в самоволку; спасенную копию можно увидеть здесь: http: / /ysth.info/pcs.html )

4
ответ дан 1 December 2019 в 06:54
поделиться

Ну, это стиль , а не правило. Правила стиля по определению довольно произвольны. Что касается того, почему вы не должны ставить пробелы перед точкой с запятой, это просто потому, что это так, как это делается. Не только с Perl, но и с C и всеми другими языками с фигурными скобками и точками с запятой, восходящими к C и более новым, на которые влиял C, таким как C ++, C #, Objective C, Javascript, Java, PHP и т. Д.

2
ответ дан 1 December 2019 в 06:54
поделиться

Мне это очень не нравится. Но это на 100% личное решение и коллективное соглашение, которое вы должны принять.

0
ответ дан 1 December 2019 в 06:54
поделиться

Потому что люди этого не ожидают. Когда вы это делаете, это выглядит странно.

1
ответ дан 1 December 2019 в 06:54
поделиться

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

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

0
ответ дан 1 December 2019 в 06:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: