Code Review Eficaz

Fazer um code review eficaz envolve uma combinação de análise técnica, atenção a boas práticas e comunicação construtiva. Abaixo estão os principais pontos a considerar, incluindo a relevância de conceitos como SOLID, OOP e complexidade de código:

1. O que Verificar no Code Review?

Funcionalidade e Requisitos

  • Alinhamento com os requisitos: O código resolve o problema proposto?
  • Tratamento de casos extremos (edge cases): Ex.: divisão por zero, entradas inválidas, falhas de rede.
  • Impacto em outras partes do sistema: O código quebra funcionalidades existentes?

Qualidade do Código

  • Princípios SOLID (extremamente relevantes):
    • Single Responsibility: Uma classe/função faz apenas uma coisa?
    • Open/Closed: O código está aberto para extensão, mas fechado para modificação?
    • Liskov Substitution: As subclasses podem substituir suas classes base sem quebrar o sistema?
    • Interface Segregation: Interfaces são específicas para o cliente que as usa?
    • Dependency Inversion: Módulos dependem de abstrações, não de implementações?
  • Orientação a Objetos (OOP):
    • Encapsulamento: Dados e comportamentos estão protegidos?
    • Herança vs. Composição: A hierarquia de classes é justificada ou há complexidade desnecessária?
    • Polimorfismo: Há uso adequado de interfaces ou classes abstratas?
  • Programação Funcional (FP)
    • Imutabilidade: O código evita mutações desnecessárias de estado?
    • Funções puras: Funções sempre retornam o mesmo resultado para a mesma entrada?
    • Composição de funções: O código utiliza composição ao invés de sequências complexas de instruções?
    • Evita efeitos colaterais: Há dependências globais ou mutações inesperadas?
    • Uso adequado de Higher-Order Functions: O código se beneficia de funções como mapreduce e filter para evitar loops imperativos?
  • Complexidade:
    • Complexidade Ciclomática: Funções/métodos têm muitas ramificações (if/else, loops)? Valores altos indicam código difícil de testar e manter.
    • Código duplicado: Há violação do DRY (Don’t Repeat Yourself)?
    • Legibilidade: O código é fácil de entender? Nomes de variáveis/métodos são claros?
Continue reading →

Google Developer Experts

Um Pouco Sobre o Programa Google Developer Experts

O Programa GDE (Google Developer Experts) é uma iniciativa do Google que reconhece e premia desenvolvedores experientes e especialistas em tecnologias específicas do ecossistema Google. Esses especialistas são selecionados com base em seu conhecimento profundo e contribuições significativas para a comunidade de desenvolvedores.

Os GDEs são profissionais altamente qualificados em áreas como desenvolvimento de software, design de interface do usuário, análise de dados, machine learning, internet das coisas (IoT) e muito mais. Eles demonstram habilidades excepcionais e um compromisso notável em compartilhar seu conhecimento e experiência com outros desenvolvedores.

Continue reading →

Google Developers Groups

Um pouco sobre o programa Google Developers Groups

Logo Google Developers Groups

O programa Google Developers Group (GDG) do Google é uma iniciativa que visa reunir desenvolvedores interessados nas tecnologias e APIs do Google, como Android, Chrome, Drive, Google Cloud e outras. Os GDGs são grupos locais que organizam eventos, workshops, treinamentos e meetups para aprender e compartilhar conhecimentos sobre essas tecnologias. Qualquer pessoa pode participar ou liderar um GDG em sua região.

O objetivo do programa é criar uma comunidade de desenvolvedores que possam se beneficiar dos recursos e ferramentas oferecidos pelo Google, bem como trocar experiências e ideias com outros profissionais da área. Os GDGs também promovem o DevFest, um festival anual de tecnologia que reúne milhares de participantes em todo o mundo para celebrar a inovação e a criatividade.

Continue reading →

Programa Women Techmakers

O programa WTM do Google é uma iniciativa que visa promover a visibilidade, a comunidade e os recursos para as mulheres na tecnologia. O programa foi lançado em 2014, como uma evolução do Google Developer Group Women, e desde então vem realizando diversas ações para apoiar e inspirar as mulheres que atuam ou desejam atuar no campo da tecnologia.

O programa WTM do Google oferece três formas de participação:

  • Embaixadora: As embaixadoras são líderes comunitárias que organizam eventos, palestras, conteúdos e mentorias para empoderar outras mulheres na tecnologia. Elas recebem acesso a uma comunidade global e recursos exclusivos do Google e do ecossistema de tecnologia. Para se tornar uma embaixadora, é preciso se inscrever no site do programa e atender aos requisitos de qualificação e responsabilidade.
  • Membro: As membros são mulheres que se cadastram no site do programa para receber acesso a recursos e eventos curados pelo Google, pelos parceiros e pela comunidade de tecnologia. Elas também podem participar de programas de capacitação, networking e reconhecimento do Google
  • Participante: As participantes são mulheres que comparecem aos eventos, workshops, mentorias e conteúdos organizados pelas embaixadoras ou pelo Google. Elas podem aprender sobre diversos temas relacionados à tecnologia, como Google Cloud, Android, Flutter, Machine Learning, Inteligência Artificial etc. Elas também podem interagir com outras mulheres da comunidade e ampliar seus conhecimentos e oportunidades.
Continue reading →