Em breve C# terá suporte para metaprogramação: Códigos melhores com custo muito mais baixo

  Рет қаралды 2,450

EximiaCo - Excelência Tecnológica

EximiaCo - Excelência Tecnológica

Күн бұрын

As próximas versões do compilador da linguagem C# irão fornecer, finalmente, suporte a metaprogramação. Trata-se de uma novidade importante que vai permitir, em diversos cenários, ganhos consideráveis de produtividade no desenvolvimento e de performance na execução das aplicações.
Neste vídeo, compartilhamos um exemplo prático de aplicação do conceito mostrando como metaprogramação pode ser utilizada para reduzir dramaticamente a quantidade de código que escrevemos, assim como as chances de cometermos erros.
Este vídeo é uma versão, revisada e ampliada, de uma publicação de nossos sites.
www.eximiaco.m...
Convidamos você, também, a conhecer nosso podcast: "Os Drops da EximiaCo", que está disponível em todas as principais plataformas.
Spotify
open.spotify.c...
Apple Podcasts
podcasts.apple...
Deezer
www.deezer.com...

Пікірлер: 21
@Leanst.
@Leanst. 3 жыл бұрын
Sensacional!
@AlbertoMonteiro
@AlbertoMonteiro 4 жыл бұрын
Outro ponto bem importante é a questão de performance, já que por exemplo, serializadores de json não precisam mais usar reflection uma vez que o código vai ser gerando em dev-time
@vmamore
@vmamore 4 жыл бұрын
Não entendi muito bem Alberto, teria algum link pra entender melhor essa questão da performance?
@AlbertoMonteiro
@AlbertoMonteiro 4 жыл бұрын
@@vmamore não tenho um link, mas a questão é o usar reflection tem um custo de performance, então quando você trocar o processamento que antes acontecia em runtime para obter as propriedades, seus valores e ir gerando o json, parte desse comportamento vai passar para dev-time, então é nesse momento que vem a melhora em questão de performance. Você pode pesquisar mais sobre as implicações de performance ao usar reflection, isso vai ajudar a entender o ganho
@vmamore
@vmamore 4 жыл бұрын
@@AlbertoMonteiro Massa, vou pesquisar mais, valeu!
@Lindembergz
@Lindembergz 4 жыл бұрын
Já tem no Delphi esse fantástico recurso...reusabilidade e controle são os maiores benefícios. Que bom que será introduzido no C#...inclusive é possível passar parâmetros nos atributos
@AlanJeffersonNascimento
@AlanJeffersonNascimento 4 жыл бұрын
Parabéns pelo artigo, pela divulgação da nova funcionalidade.
@danilogomes-br
@danilogomes-br 4 жыл бұрын
Gostei bastante da nova funcionalidade, fiquei com dúvida se em modo debug seria possível depurar dentro do código gerado pelo SourceGenerator?
@carlosl8832
@carlosl8832 3 жыл бұрын
👍
@fanturyP
@fanturyP 4 жыл бұрын
Muito bom este recurso, mas fica a duvida quando executar o Build da solução levará mais tempo pra copilar o projeto ou não?
@42lillo
@42lillo 4 жыл бұрын
Parabéns pelo video, o codigo do seu exemplo está no Github? Pode passar o link?
@wesleyjesus5598
@wesleyjesus5598 4 жыл бұрын
Podemos ver uma abordagem bastante semelhante no framework refit
@assuncaojr
@assuncaojr 4 жыл бұрын
Fiquei com uma dúvida: o source da classe AutoNotifyGenerator foi criado por vc ou gerado automaticamente?
@AlbertoMonteiro
@AlbertoMonteiro 4 жыл бұрын
Criado pele Elemar
@vmrocha
@vmrocha 4 жыл бұрын
Essa abordagem me lembra um pouco o uso de arquivos T4 para geração de código. Usei bastante no passado para geração da camada de acesso a dados. A grande diferença é poder ter esses arquivos gerados em tempo de compilação e não precisar que eles façam parte do projeto. Será que seria muito bizarro o source generator acessar recursos externos como banco de dados ou APIs http como fonte de informação para geração de código?
@AlbertoMonteiro
@AlbertoMonteiro 4 жыл бұрын
Eu confesso que essa mágica aí já em grande partes dos casos seria prejudiciais. Lembre que o source generator vai estar em execução constante pela IDE, então você deve evitar ter processos lentos, principalmente os que fazem IO
@innerdawn
@innerdawn 4 жыл бұрын
cara, muito gambiarra escrever codigo em strings, torço para q essa ideia não vá adiante. herança horizontal seria muito mais elegante.
@EximiaCo
@EximiaCo 4 жыл бұрын
Acho que não fui claro. A idéia não é essa.
@EximiaCo
@EximiaCo 4 жыл бұрын
O que quer dizer com "herança horizontal"?
@innerdawn
@innerdawn 4 жыл бұрын
minha critica nao é ao recurso, nesse ponto é realmente muitíssimo interessante! critico a forma de escrever o codigo dinamico, assim compondo strings, e que serao anexadas só em tempo de compilação. Como será o debug? perdemos code highlight? perdemos code completion? perdemos strong typing? em fim, a forma deve evoluir de alguma maneira, pq assim concatenando strings é um retrocesso sem dúvida.
Como o Garbage Collector (GC) afeta a performance em .NET: Validação de CPF
21:44
EximiaCo - Excelência Tecnológica
Рет қаралды 6 М.
The Most Important Design Pattern in React
35:04
Cosden Solutions
Рет қаралды 69 М.
啊?就这么水灵灵的穿上了?
00:18
一航1
Рет қаралды 18 МЛН
Я сделала самое маленькое в мире мороженое!
00:43
Кушать Хочу
Рет қаралды 2,1 МЛН
РОДИТЕЛИ НА ШКОЛЬНОМ ПРАЗДНИКЕ
01:00
SIDELNIKOVVV
Рет қаралды 3,6 МЛН
Epic Reflex Game vs MrBeast Crew 🙈😱
00:32
Celine Dept
Рет қаралды 26 МЛН
WEB API C#: Conceito, passos, debugger e GetAll
52:52
profcarllussilva
Рет қаралды 71
The C# Meta Programming Roadmap
12:27
Raw Coding
Рет қаралды 8 М.
Como Começar a Arquitetura de um Software Sem Dores de Cabeça: Primeiros Passos
14:46
EximiaCo - Excelência Tecnológica
Рет қаралды 2,9 М.
.NET Framework vs .NET Core vs .NET vs .NET Standard vs C#
25:14
IAmTimCorey
Рет қаралды 557 М.
Новые возможности React с useDeferredValue
11:06
АйТи Синяк
Рет қаралды 6 М.
Como Consumir APIs Sem Dores de Cabeça: A Camada Sintática
14:40
EximiaCo - Excelência Tecnológica
Рет қаралды 1,7 М.
啊?就这么水灵灵的穿上了?
00:18
一航1
Рет қаралды 18 МЛН