Swift-style-guide: Die Semikolons können helfen, die Leistung von Xcode zu verbessern

Erstellt am 16. Nov. 2017  ·  6Kommentare  ·  Quelle: raywenderlich/swift-style-guide

DE:
Ohne Semikolons verschwendet der xcode zu viel CPU beim Laden/Indizieren/Analysieren des Swift-Codes und der Grammatik.
und dies führte dazu, dass der Xcode häufiger abstürzte/keine Antwort gab.
Ohne Semikolons ist also keine gute Wahl für die Codierung in Swift.
Chinesisch:
Ohne das Semikolon verbraucht Xcode mehr CPU-Ressourcen, um das Laden, Indizieren und Analysieren von Swift-Code und -Syntax zu verarbeiten.Das resultierende Problem besteht darin, dass Xcode häufiger abstürzt/nicht reagiert.
Daher ist es in Swift keine gute Wahl, keine Semikolons zu verwenden.

Mehr:
Während der Entwicklung des Autors mit Swift, wenn das Semikolon nicht verwendet wurde, stürzte Xcode im Durchschnitt mehr als 10 Mal pro Tag ab, was die Entwicklungseffizienz stark beeinträchtigte.
Der xcode-Absturz oder keine Antwort mehr als 10 Mal täglich, wenn ich Swift ohne Semikolons codiere.

Alle 6 Kommentare

Quelle oder Benchmarks, die dies belegen?

Die breitere Swift-Community – siehe fast jede beliebte Swift-Open-Source-Bibliothek – verwendet keine Semikolons.

Darüber hinaus hat sich Apple absichtlich von Programmierpraktiken im C-Stil entfernt, wie z.

Es würde mich nicht wundern, wenn in einer zukünftigen Version der Sprache auch Semikolons entfernt werden.

Aus diesen Gründen bin ich persönlich stark gegen diese Änderung, auch wenn es zur Kompilierzeit einen leichten Leistungsvorteil gibt.

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.

Dieses einfache Beispiel bedeutet: Der xcode verschwendet möglicherweise CPU, um die Grammatik zu verarbeiten, aber mit einem falschen Ergebnis.

Und ich habe festgestellt, dass die meisten Abstürze des Xcodes auftreten, wenn die Grammatik nach dem Bearbeiten einer Anweisung neu erstellt wird.

Ich würde diesen Fehler stattdessen an Apple weiterleiten. Ich habe keine Semikolons verwendet, seit die Dinosaurier die Erde durchstreiften (Ziel-C-Tage) und erkenne das von Ihnen beschriebene Problem nicht.

Wir brauchen einige Benchmarks und um diesen Fehler an Apple zu melden (wird es so schnell wie möglich tun und die RDAR-Nummer posten, bitte täuschen Sie es), aber wenn es wahr ist und wenn Apple keine Lösung gefunden hat oder nicht hatte, sagen Sie, dass Swift 5 oder 6 nicht zurückkehrt mehr Semikolons zu verwenden, wäre eher ein Zeichen von Software-Eifer als ein Produktivitätsverlust, den Sie bei keinem professionellen Meeting erklären können.

Danke, dass du das ansprichst. Ich habe das Problem mit der Codevervollständigung als https://bugs.swift.org/browse/SR-6454 gemeldet

Hoffentlich kann es in Swift 4.1 behoben werden. Apple arbeitet an der Entwicklung eines völlig neuen Tooling-Frameworks libSyntax, das in allen Swift! Es ist auch Open Source, sodass Sie sich einbringen können.

Wenn Sie andere konkrete Fälle haben, in denen die Autovervollständigung fehlschlägt, wäre es meiner Meinung nach nützlich, davon zu hören.

Abgesehen von Werkzeugproblemen tragen Semikolons und zusätzliche Interpunktion zur kognitiven Belastung bei und tun nichts für die Klarheit, was die ursprüngliche Motivation für ihre Entfernung als Voraussetzung ist. Siehe Dave Abrahams Lobrede auf Semikolons im Advanced Swift von der WWDC 2014.

Sofern es in der Swift-Community keine großen Veränderungen gibt, kehren Semikolons nicht zurück. Aus diesem Grund schließe ich dieses Thema. Melden Sie jedoch auf jeden Fall Fehler, die Sie finden. Es hilft der gesamten Community, voranzukommen! 😄

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

aramezk picture aramezk  ·  9Kommentare

grosch picture grosch  ·  6Kommentare

samkim102 picture samkim102  ·  4Kommentare

fabienwarniez picture fabienwarniez  ·  9Kommentare

ghost picture ghost  ·  26Kommentare