Visual Basic 14 - Novidades da nova versão : refatoração embutida


 Este post faz parte de uma série de artigos onde eu mostro as novidades do Visual Basic 14, a nova versão do Visual Basic .NET, que fará parte do Visual Studio 2015.

O Visual Basic 14 é a mais nova versão do Visual Basic ou VB .NET, e será lançado como parte do Visual Studio 2015.

Esta versão foi reescrita do zero em cerca de 1,3 milhões de linhas de código, e segundo a Microsoft, a equipe aproveitou para reescrever a repensar todas as partes do Visual Basic.

Para ir digerindo cada novidade eu vou escrever uma série de artigos onde vou apresentar uma novidade por artigo. Assim, com calma, você vai testando e incorporando cada novo recurso à sua experiência.

Lembrando que eu estou usando a versão Visual Studio CTP 6 que poderá sofrer alterações até a release final.

A seguir temos uma relação de alguns dos novos recursos que foram incluídos no Visual Basic:

Recurso Exemplo C# VB
Auto-property initializers public int X { get; set; } = x; Added Exists
Getter-only auto-properties public int Y { get; } = y; Added Added
Ctor assignment to getter-only autoprops Y = 15 Added Added
Parameterless struct ctors Structure S : Sub New() : End Sub : End Structure Added Added
Using static members using System.Console; … Write(4); Added Exists
Dictionary initializer new JObject { ["x"] = 3, ["y"] = 7 } Added No
Await in catch/finally try … catch { await … } finally { await … } Added No
Exception filters catch(E e) if (e.Count > 5) { … } Added Exists
Partial modules Partial Module M1 N/A Added
Partial interfaces Partial Interface I1 Exists Added
Multiline string literals "Hello<newline>World" Exists Added
Year-first date literals Dim d = #2014-04-03# N/A Added
Line continuation comments Dim addrs = From c in Customers ' comment N/A Added
TypeOf IsNot If TypeOf x IsNot Customer Then … N/A Added
Expression-bodied members public double Dist => Sqrt(X * X + Y * Y); Added No
Null propagation customer?.Orders?[5]?.$price Added Added
String interpolation $"{p.First} {p.Last} is {p.Age} years old." Added* Planned
nameof operator string s = nameof(Console.Write); Added* Planned
#pragma #Disable Warning BC40008 Added Added
Smart name resolution   N/A Added
ReadWrite props can implement ReadOnly   Exists Added
#region inside methods   Exists Added
Overloads inferred from Overrides   N/A Added
CObj in attributes   Exists Added
CRef and parameter name   Exists Added
Extension Add in collection initializers   Added Exists
Improved overload resolution   Added N/A

Recursos usados:

Melhorando a experiência de codificação :  Refatoração embutida

Agora você não precisa mais adquirir pacotes de terceiros para poder realizar a refatoração diretamente no seu código. Tarefas como extrair métodos e outras refatorações estão disponíveis a um clique de mouse.

Para usar o recurso basta clicar em um identificador ou destacar um subexpressão e em seguida pressionar Ctrl+ponto(.), ou clicar com o botão direito do mouse e escolher a opção Quick Actions.

Essa ação faz com que apareça um pequeno ícone de uma luz amarela com um menu de contexto exibindo ações relevantes que você poderá efetuar no seu código.

Para testar vamos abrir o  VS Studio CTP 6  e clicar em New Project;

Selecione Visual Basic e o template Windows Forms Application e informe o nome VB14_Refatoracao e clique no botão OK;

Inclua um botão de comando no formulário form1.vb e no seu evento Click defina o código para chamar o método CalculaAreaCirculo():

Selecione a variável areaCirculo e pressione CTRL+ . ou clique com o botão direito do mouse sobre a variável areaCirculo para exibir o menu suspenso e a seguir clique em Quick Actions:

Será exibida um relação de sugestões de ações a realizar no seu código:

Selecione a ação a efetuar e clique em Preview changes para visualizar as alterações no código:

Agora você pode aplicar a refatoração ao seu código clicando em Apply ou cancelar a operação.

Agora selecione o método CalculaAreaCirculo() e clique com o botão direito do mouse e no menu suspenso selecione a opção Rename para renomear o nome deste método:

Clicando em Rename será aberta uma caixa no lado superior esquerdo da janela contendo as ocorrências do nome selecionado para renomear e opções para incluir comentários, strings e visualizar as alterações;

Clicando no botão Apply (se você marcou a opção Preview changes) teremos uma visualização das alterações no código:

Novamente você confirma a operação ou cancela.

Esta opção verifica se existe outro método com o mesmo nome que você pretende usar e lhe avisa.

Agora selecione a chamada do método CalculaAreaCirculo() no evento Click do botão de comando e clique com o botão direito do mouse selecionando a seguir a opção Peek Definition:

O código referente ao método selecionado será exibido conforme a figura abaixo:

Verifique o recurso em seu próprio código e imagine as possibilidades. Codificar vai ficar mais fácil e intuitivo.

Disse-lhes, pois, Jesus: Quando levantardes o Filho do homem, então conhecereis que EU SOU, e que nada faço por mim mesmo; mas isto falo como meu Pai me ensinou.
E aquele que me enviou está comigo. O Pai não me tem deixado só, porque eu faço sempre o que lhe agrada.

João 8:28-29

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti