Swift-style-guide: Les points-virgules peuvent aider à améliorer les performances de Xcode

Créé le 16 nov. 2017  ·  6Commentaires  ·  Source: raywenderlich/swift-style-guide

FR :
Sans points-virgules, le xcode gaspillera trop de CPU pour charger/indexer/analyser le code et la grammaire Swift,
et cela a conduit le Xcode à planter/pas de réponse plus fréquemment.
Donc, sans points-virgules n'est pas un bon choix pour coder dans Swift.
Chinois:
Sans le point-virgule, Xcode consommera plus de ressources CPU pour traiter le chargement, l'indexation et l'analyse du code et de la syntaxe Swift. Le problème qui en résulte est que Xcode plantera/ne répondra plus fréquemment.
Donc, dans Swift, ne pas utiliser de points-virgules n'est pas un bon choix.

Suite:
Lors du développement de l'auteur avec Swift, lorsque le point-virgule n'était pas utilisé, Xcode plantait plus de 10 fois par jour en moyenne, ce qui affectait grandement l'efficacité du développement.
Le plantage ou la non-réponse de xcode plus de 10 fois par jour, lorsque je code Swift sans points-virgules.

Tous les 6 commentaires

Source ou références le prouvant ?

La communauté Swift au sens large (voir presque toutes les bibliothèques open source Swift populaires) n'utilise pas de points-virgules.

De plus, Apple s'est volontairement éloigné des pratiques de programmation de style C... telles que la suppression des boucles de style C, de l'opérateur ++, etc.

Je ne serais pas surpris que les points-virgules soient également supprimés dans une future version de la langue.

Pour ces raisons, même s'il y a un léger gain de performances au moment de la compilation, je suis personnellement fortement contre ce changement.

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.

Cet exemple simple signifie : le xcode peut gaspiller du CPU pour traiter la grammaire, mais avec un résultat erroné.

Et j'ai trouvé que la plupart des plantages du xcode apparaissent lors de la reconstruction de la grammaire après avoir modifié une instruction.

Je dirigerais plutôt ce bogue vers Apple. Je n'ai pas utilisé de point-virgule depuis que les dinosaures parcouraient la terre (jours Objectif-C) et je ne reconnais pas le problème que vous décrivez.

Nous avons besoin de références et de signaler ce bogue à Apple (le ferons dès que possible et publierons le RDAR #, veuillez le duper), mais si c'est vrai et si Apple n'a pas ou ne pouvait pas avoir de correctif avant de dire que Swift 5 ou 6 ne revient pas à utiliser plus de points-virgules serait un signe de fanatisme logiciel plutôt qu'une perte de productivité que vous seriez difficilement en mesure d'expliquer lors d'une réunion professionnelle.

Merci d'avoir soulevé cela. J'ai signalé le problème d'achèvement du code en tant que https://bugs.swift.org/browse/SR-6454

Espérons que cela puisse être corrigé dans Swift 4.1. Apple mène un effort pour créer un tout nouveau framework d'outillage libSyntax écrit en Swift ! Il est également open source, vous pouvez donc vous impliquer.

Si vous avez d'autres cas concrets où la saisie semi-automatique tombe en panne, je pense qu'il serait utile d'en entendre parler.

Mis à part les problèmes d'outillage, les points-virgules et la ponctuation supplémentaire ajoutent à la charge cognitive et ne font rien pour la clarté, ce qui est la motivation initiale de leur suppression en tant qu'exigence. Voir l'éloge funèbre de Dave Abrahams en points-virgules dans la conférence Advanced Swift de la WWDC 2014.

À moins qu'il n'y ait un énorme changement dans la communauté Swift, les points-virgules ne reviennent pas. Pour cette raison, je ferme ce sujet. Cependant, par tous les moyens, signalez les bogues que vous trouvez. Cela aide toute la communauté à aller de l'avant! ??

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

WingYn picture WingYn  ·  15Commentaires

samkim102 picture samkim102  ·  4Commentaires

rayfix picture rayfix  ·  3Commentaires

gokselkoksal picture gokselkoksal  ·  9Commentaires

luki picture luki  ·  3Commentaires