O documento discute o impacto do projeto Roslyn no C# e Visual Basic, incluindo novas APIs públicas e recursos como analisadores, refatorações e corretores de código. O projeto permite melhorias nas linguagens e ferramentas de desenvolvimento.
2. Quem é o palestrante?
Giovanni Bassi
Desenvolvedor na Lambda3
@giovannibassi
Palestra
Carlos dos Santos
Desenvolvedor na CDS Iniformática
@cdssoftware
3. Projeto Roslyn
• Em C# e VB
• Com APIs ricas e públicas
• Free and Open Source no Github
10. using System;
using static System.Console;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
var ola = "ola";
WriteLine(ola);
}
}
}
Language Service (Exemplo)
13. Imutabilidade: Green e Red Trees
Imutável
Persistente
Sem referência aos pais
Construída de baixo pra cima
Nós conhecem largura mas
não posição
Edição: O(log n)
Façade “imutável”
Não persistente
Referência aos pais e filhos
Construída de cima pra baixo
Nós conhecem largura e posição
Remontada sob demanda a cada
edição a partir da verde
15. Projeto CodeCracker
• O maior projeto de analisadores e code fixes escrito com Roslyn fora
da Microsoft
• ~100 analisadores até o momento (VB e C#)
• Open Source
• Uma alternativa leve e gratuita a ferramentas já existentes
• Portable (Windows, Linux, Mac)
• Mais de 90% de cobertura de código com testes
16. Escrevendo um analisador
• Utilize o SDK do Visual Studio e da plataforma de compilação
• Templates prontos
• Syntax Visualizer
Initializers for auto-properties
Primary Constructors
Parameters on classes and structs
Field parameters
Explicit constructors
Base Initializers
Partial types
Using static
Entension methods
Declaration expressions
Exception filters (agora no C#)
Binary Literals
Indexed members and elemento initializers
Await in catch and finally blocks
Extension Add methods in collection initializers (agora no C#)