Swift-style-guide: Точка с запятой может помочь улучшить производительность Xcode.

Созданный на 16 нояб. 2017  ·  6Комментарии  ·  Источник: raywenderlich/swift-style-guide

EN:
Без точек с запятой xcode будет тратить слишком много ресурсов ЦП на загрузку / индексирование / анализ кода и грамматики Swift,
и это привело к тому, что Xcode чаще вылетал / не отвечал.
Итак, без точки с запятой - не лучший вариант для написания кода на Swift.
Китайский язык:
Без точки с запятой Xcode будет потреблять больше ресурсов ЦП для обработки загрузки, индексации и анализа кода и синтаксиса Swift. В результате возникает проблема, заключающаяся в том, что Xcode будет чаще аварийно завершать работу / не отвечать.
Так что в Swift не использовать точку с запятой - не лучший выбор.

Более:
Во время разработки автора с Swift, когда точка с запятой не использовалась, Xcode падал в среднем более 10 раз в день, что сильно сказывалось на эффективности разработки.
Сбой xcode или отсутствие ответа более 10 раз каждый день, когда я кодирую Swift без точек с запятой.

Все 6 Комментарий

Источник или тесты, подтверждающие это?

Более широкое сообщество Swift - см. Практически любую популярную библиотеку с открытым исходным кодом Swift - не использует точки с запятой.

Кроме того, Apple намеренно отошла от методов программирования в стиле C ... таких как удаление циклов в стиле C, оператора ++ и т. Д.

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

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

let obj = NSObject()  
// Type `if` here, you can not find the `if` statement in the completion suggestions list.
// But if add a semicolon to the previous line or write a blank line between the previous line, the `if` statement completion suggestion will be in the list.

Этот простой пример означает: xcode может тратить ресурсы процессора на обработку грамматики, но с неправильным результатом.

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

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

Нам нужен какой-то тест и поднять эту ошибку до Apple (сделаем это как можно скорее и опубликуем RDAR #, пожалуйста, обманите его), но если это правда, и если у Apple не было или не могло быть исправления раньше, скажем, Swift 5 или 6 не возвращается к использование большего количества точек с запятой было бы признаком фанатизма в области программного обеспечения, а не потери производительности, которую вряд ли можно будет объяснить на любой профессиональной встрече.

Спасибо, что подняли этот вопрос. Я сообщил о проблеме завершения кода как https://bugs.swift.org/browse/SR-6454.

Надеюсь, это можно исправить в Swift 4.1. Apple возглавляет усилия по созданию совершенно новой инструментальной среды libSyntax, написанной на языке Swift! Это тоже открытый исходный код, так что вы можете принять участие.

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

Помимо проблем с инструментами, точки с запятой и лишние знаки препинания увеличивают когнитивную нагрузку и ничего не делают для ясности, что является исходной мотивацией для их удаления в качестве требования. См. Хвалебную речь Дэйва Абрахамса по поводу точки с запятой в Advanced Swift из выступления WWDC 2014.

Если в сообществе Swift не произойдет серьезных перемен, точки с запятой не вернутся. По этой причине я закрываю этот выпуск. Тем не менее, обязательно сообщайте об обнаруженных вами ошибках. Это помогает всему сообществу двигаться вперед! 😄

Была ли эта страница полезной?
0 / 5 - 0 рейтинги