Swift-style-guide: Os pontos-e-vírgulas podem ajudar a melhorar o desempenho do Xcode

Criado em 16 nov. 2017  ·  6Comentários  ·  Fonte: raywenderlich/swift-style-guide

EN:
Sem ponto-e-vírgulas, o xcode vai gastar muito CPU carregando / indexando / analisando o código Swift e a gramática,
e isso leva o Xcode a travar / não responder com mais frequência.
Portanto, sem ponto-e-vírgulas não é uma boa escolha para codificação em Swift.
Chinês:
Sem o ponto-e-vírgula, o Xcode consumirá mais recursos da CPU para processar o carregamento, a indexação e a análise do código e da sintaxe do Swift. O problema resultante é que o Xcode travará / não responderá com mais frequência.
Portanto, no Swift, não usar ponto-e-vírgula não é uma boa escolha.

Mais:
Durante o desenvolvimento do autor com o Swift, quando o ponto-e-vírgula não era usado, o Xcode travava mais de 10 vezes por dia em média, o que afetava muito a eficiência do desenvolvimento.
O xcode travou ou não respondeu mais de 10 vezes ao dia, quando codifico o Swift sem ponto-e-vírgula.

Todos 6 comentários

Fonte ou benchmarks que provam isso?

A comunidade Swift mais ampla - veja quase todas as bibliotecas populares de código aberto do Swift - não usa ponto-e-vírgula.

Além disso, a Apple intencionalmente se afastou das práticas de programação do estilo C ... como remover loops for do estilo C, operador ++, etc.

Eu não ficaria surpreso se o ponto-e-vírgula também fosse removido em uma versão futura do idioma.

Por essas razões, mesmo que haja um pequeno benefício de desempenho no tempo de compilação, eu, pessoalmente, sou fortemente contra essa mudança.

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.

Este exemplo simples significa: o xcode pode gastar CPU para processar a gramática, mas com um resultado errado.

E descobri que a maioria dos travamentos do xcode aparecem na reconstrução da gramática após a edição de uma instrução.

Em vez disso, eu direcionaria esse bug para a Apple. Não usei ponto-e-vírgula desde que os dinossauros vagaram pela Terra (dias Objective-C) e não reconhecem o problema que você está descrevendo.

Precisamos de algum benchmark e levantar este bug para a Apple (fará isso o mais rápido possível e postar o RDAR #, por favor, engane-o), mas se for verdade e se a Apple não teve ou não poderia ter uma correção antes, diga Swift 5 ou 6 não revertendo para usar mais ponto e vírgula seria um sinal de fanatismo por software, em vez de uma perda de produtividade que dificilmente seria capaz de explicar em qualquer reunião profissional.

Obrigado por trazer isso à tona. Relatei o problema de autocompletar código como https://bugs.swift.org/browse/SR-6454

Esperançosamente, pode ser corrigido no Swift 4.1. A Apple está liderando um esforço para criar uma estrutura de ferramentas totalmente nova, libSyntax, escrita em Swift! É open source também, então você pode se envolver.

Se você tiver outros casos concretos em que o preenchimento automático falha, acho que seria útil ouvir sobre.

Deixando as questões de ferramentas de lado, ponto-e-vírgulas e pontuação extra aumentam a carga cognitiva e não fazem nada para a clareza, que é a motivação original para sua remoção como um requisito. Veja o elogio de Dave Abrahams ao ponto e vírgula na palestra Advanced Swift da WWDC 2014.

A menos que haja uma grande mudança na comunidade Swift, os pontos-e-vírgulas não voltarão. Por isso estou encerrando este assunto. No entanto, não deixe de relatar os bugs que encontrar. Ajuda toda a comunidade a seguir em frente! 😄

Esta página foi útil?
0 / 5 - 0 avaliações