JavaRush /Blogue Java /Random-PT /Pausa para café #70. Como escrever código Java mais rápid...

Pausa para café #70. Como escrever código Java mais rápido com Lombok. Lista de treinamento para programadores iniciantes

Publicado no grupo Random-PT

Como acelerar a escrita de código Java com Lombok

Fonte: Dev.to Escrevemos o mesmo código padrão em todos os aplicativos. Por exemplo:
  • Obtémdores;
  • Setadores;
  • Designers;
  • Padrão de projeto do construtor;
  • e muito mais…
Não seria bom se esse trabalho rotineiro pudesse ser confiado a alguém? E é aqui que Lombok pode nos ajudar.Pausa para café #70.  Como escrever código Java mais rápido com Lombok.  Minha lista de treinamento para programadores iniciantes - 1

O que ele está fazendo?

Ele gera código de bytes para essas tarefas comuns (getters, setters, etc.) e os coloca em uma .class, tornando-os utilizáveis ​​no código que escrevemos.

Como isso acontece?

Você precisa adicionar a dependência do Lombok à sua construção do Maven. Então você precisa anotar as classes desejadas, campos com algumas anotações do Lombok. Vejamos o código! Sem Lombok:
public class Human {
    private int id;
    private String name;
    private int ageInYears;

    public Human() { }

    public Human(int id, String name, int ageInYears) {
        this.id = id;
        this.name = name;
        this.ageInYears = ageInYears;
    }

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public int getAgeInYears() {
        return ageInYears;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAgeInYears(int ageInYears) {
        this.ageInYears = ageInYears;
    }

    // Builder pattern
  public Human id(int id){
        this.id = id;
        return this;
    }
    public Human name(String name){
        this.name = name;
        return this;
    }
    public Human ageInYears(int ageInYears){
        this.ageInYears = ageInYears;
        return this;
    }

    @Override
  public String toString(){
        return String.format("Human(id=%s, name=%s, ageInYears=%s)",
                this.id, this.name, this.ageInYears);
    }
}
Agora vamos usar o Lombok:
import lombok.*;
@Getter @Setter
@AllArgsConstructor @NoArgsConstructor
@Builder @ToString
public class Human {
    @Setter(AccessLevel.NONE)
    private int id;
    private String name;
    private int ageInYears;
}
A dependência do Maven é assim:
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.16</version>
    <scope>provided</scope>
</dependency>
Nota: A parte da versão mudará dependendo da versão mais recente do Lombok.

O que nos fizemos?

Usamos anotações para criar getters, setters, construtores, o padrão de design Builder e a implementação toString. Também podemos fazer alterações em algumas anotações, como o setter do campo id. Definimos seu nível de acesso como Nenhum: isso significa que não criamos um setter para ele.

Valeu a pena fazer?

Escrevemos 52 linhas quando não estávamos usando o Lombok. Escrevemos 8 linhas usando Lombok. Lombok nos ajudou a reduzir o tamanho do código em quase 4 vezes . Essa pontuação pode ser melhorada se tivermos mais variáveis ​​em nossas salas de aula. Lombok tem muito mais anotações com muitas informações úteis. Para visualizá-los, acesse o site .

Conclusão

Lombok ajuda você a se concentrar em seu código de negócios e não se preocupar com pequenos detalhes (getters/setters/construtores/padrões de design gerais e outras construções Java).

Lista de treinamento para programadores iniciantes

Fonte: DZone Meu amigo tem um filho que em breve terminará o ensino médio. Ele sabe um pouco de programação e está se perguntando se deveria se tornar um programador. Recentemente ele me perguntou: “O que devo ensinar a seguir?” Pausa para café #70.  Como escrever código Java mais rápido com Lombok.  Minha lista de treinamento para programadores iniciantes - 2Quando comecei a aprender programação, presumi que a resposta à pergunta “O que devo aprender a seguir” seria uma nova tecnologia de programação, uma nova linguagem, uma nova biblioteca ou algo parecido. À medida que progredi em minha carreira, mudei de ideia. Além de aprimorar suas habilidades de programação e aprender novas linguagens, os aspirantes a programadores devem estudar em áreas afins (explicarei isso abaixo). Neste texto, quero coletar uma lista de habilidades que eu recomendaria aos programadores que dominassem. Meu objetivo não é listar todo o conhecimento atual ou fornecer links para tutoriais. Em vez disso, quero ajudar os novatos a se familiarizarem com um conjunto de ferramentas, técnicas e habilidades que podem ajudá-los a escrever programas.

Linha de comando

Acho que já sou considerado "velho" por alguns padrões. Na minha época, usar um computador significava sentar no DOS e digitar comandos. Muita coisa mudou desde então. É muito importante aprender a usar a linha de comando. Muitas ferramentas fornecem apenas uma interface de linha de comando. Em alguns casos, você pode trabalhar mais rápido na linha de comando. Você deve ser capaz de fazer coisas básicas como:
  • Travessia de diretório.
  • Gerenciamento de arquivos (copiar/mover/excluir).
  • Compilar e/ou executar código-fonte.
Se você estiver no Windows, recomendo se familiarizar com o Linux, talvez usando WSL2 em vez de uma máquina virtual completa. Se você estiver em um Mac, poderá usar o shell integrado ao sistema operacional. Você também pode obter uma boa experiência instalando uma máquina virtual Linux.

Controle de versão

Você precisa aprender como rastrear seu código-fonte usando controle de versão. O software de controle de versão permite acompanhar o histórico de revisões do seu projeto, o que pode ser vital para a depuração. Também torna mais fácil a colaboração na base de código. GitHub e GitLab são dois sites populares para hospedar projetos de código aberto. Ambos usam Git (como acho que os nomes sugerem). Git é a ferramenta mais popular atualmente, então eu recomendo começar a usar o Git na linha de comando com GitHub ou GitLab como seu repositório.

Redes

A maioria dos programas hoje exige pelo menos algum nível de rede. Compreender como as redes funcionam é importante. No mínimo, você deve compreender o básico, como endereços IP, portas e protocolos. Aprender sobre firewalls, balanceamento de carga e proxies terá retorno mais tarde. E não apenas na sua carreira de programação. Concordo, é ótimo entender a pergunta “por que o Wi-Fi não funciona?” Eu também recomendaria aprender o básico de serviços em nuvem, como AWS e Azure. Tentar configurar uma nuvem privada virtual AWS com sub-redes, regras de login e gateways proporcionará experiência de rede.

Teste

Uma parte integrante de escrever um bom software é aprender como testá-lo. Muitos de nós aprendemos a programar e depois “testamos” nosso código. Os testes unitários e de integração são habilidades essenciais que podem ser aplicadas a quase todos os softwares em que você trabalha. Embora os testes possam parecer tediosos no início, essa habilidade valerá a pena e permitirá que você trabalhe com mais rapidez e confiança.

Integração contínua

A integração contínua, ou CI, combina testes e controle de versão. Cada vez que você cria uma nova iteração de código, você tem um conjunto de testes que são executados automaticamente. As ferramentas de CI melhoraram significativamente nos últimos 10 anos. GitHub e GitLab têm soluções de CI integradas (GitHub Actions e GitLab CI, respectivamente) e são fáceis de começar. Tal como acontece com os testes, será difícil começar a usar CI. Mas depois de aprender o básico, você encontrará os problemas com muito mais facilidade e rapidez. Eu recomendaria procurar um tutorial detalhado com exemplos para a linguagem de programação que você está usando.

Habilidades de escrita

Esta é provavelmente a área que mais subestimei quando comecei a trabalhar como programador. Não estou exagerando: agora acredito que a habilidade mais importante que um programador pode adicionar ao seu arsenal é escrever. Boas habilidades de escrita significam que você pode explicar claramente uma ideia usando um número mínimo de palavras. Quando você aprende a programar, geralmente trabalha sozinho, portanto não é necessário escrever. Mas quando você começar a trabalhar em equipe, precisará escrever:
  • Documentação;
  • Relatório de erros;
  • Solicitações de recursos;
  • Sugestões de clientes;
  • Documentos com requisitos;
  • E-mails (muitos e-mails!);
  • Mensagens de texto;
  • Postagens de blog (possivelmente);
Aprenda a escrever. Exercício. Faça um curso de redação. Isso renderá dividendos para o resto da sua vida. Além disso: aprenda a ler bem. Quando comecei o desenvolvimento profissional, fiquei intimidado pelos documentos de requisitos. Agora percebo que dedicar algumas horas para estudar cuidadosamente essas informações economizará meses desperdiçados na construção da coisa errada.

Outras linguagens de programação

Hoje em dia não basta conhecer apenas uma linguagem de programação. Quase todo programador deveria conhecer pelo menos alguns. É importante estudar outros idiomas para aprender novas técnicas. Eu recomendo aprender algumas categorias diferentes de idiomas. Em ordem decrescente de prioridade: Programação funcional. A maioria das escolas ainda não ensina programação funcional (FP). FP é uma abordagem poderosa que facilita a escrita de muitos tipos de código. Sou tendencioso, mas recomendaria Haskell como a melhor linguagem para aprender, pois ajudará você a entender FP melhor do que muitas outras linguagens. Também é útil aprender uma linguagem da família LISP. Aprender programação funcional o ajudará a escrever códigos melhores em quase todas as linguagens. Programação do sistema. As linguagens do sistema pertencem a um nível inferior e permitem melhor controle sobre o funcionamento do programa. Ao estudá-los, você aprenderá como o programa funciona no sistema, o que pode ser muito útil para entender e depurar problemas em outras linguagens. Eu recomendo aprender Rust, depois C e C++. Linguagens orientadas a objetos. Java e C# são as duas linguagens orientadas a objetos mais populares desta família. (Sim, Python e C++ também são populares, mas vou destacá-los separadamente). A OOP introduziu muitos novos paradigmas e provavelmente ainda é a abordagem de programação mais popular, embora eu pessoalmente prefira abordagens de programação funcional. No entanto, há muito o que aprender com a programação orientada a objetos, e é provável que você acabe escrevendo código orientado a objetos em sua carreira. Escrita do roteiro. Python e Ruby são duas linguagens de script populares na família de aplicativos orientados a objetos. Em particular, Python é amplamente utilizado em áreas relacionadas, como DevOps e ciência de dados. Além disso, é uma linguagem simples e bastante fácil de começar.

Métodos de programação

Não importa qual linguagem de programação você usa, vale a pena se familiarizar com algumas técnicas adicionais que vão além da sua linguagem específica, incluindo:
  • Programação de banco de dados. Eu recomendo fortemente aprender SQL. SQLite e PostgreSQL são dois SGBDs de código aberto para explorar.
  • Paralelismo e programação assíncrona. Isto está se tornando cada vez mais importante hoje.
  • Programação de redes , especialmente criação de servidores e clientes HTTP.
  • Criação de interface web utilizando HTML/CSS/JavaScript.
  • Serialize dados em formatos como JSON, YAML e arquivos binários.

Conclusão

As informações acima podem parecer complicadas. Você não precisa pensar que precisa aprender tudo isso para se tornar um programador. Isto está errado. Tornar-se um grande programador exige tempo e prática profissional. Se você ainda não começou a programar, recomendo começar com alguns projetos favoritos. Considere contribuir para projetos de código aberto, pois isso o ajudará a se sentir confortável e aprender com programadores experientes. Muitos programadores adoram compartilhar seus conhecimentos com iniciantes.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION