1 pontos por GN⁺ 2024-06-29 | 1 comentários | Compartilhar no WhatsApp
  • O que a tornava tão boa?
    • Havia alguém impondo boas práticas?
    • Você fazia parte de um grupo de engenheiros excelentes?
    • Ou era outra coisa?

Opinião do GN⁺

  • Este artigo levanta uma questão interessante sobre como boas práticas são mantidas em ambientes de desenvolvimento de software
  • Pode ajudar a entender a diferença entre impor boas práticas e atuar em um ambiente autônomo
  • Outros projetos com funcionalidades semelhantes incluem o sistema de Code Review do Google ou o sistema de Pull Request do GitHub
  • Ao adotar novas tecnologias ou software de código aberto, é preciso considerar como isso pode ser integrado à cultura da equipe e aos processos existentes
  • Manter boas práticas é um fator importante para aumentar a produtividade da equipe e a qualidade do código

1 comentários

 
GN⁺ 2024-06-29
Comentário no Hacker News
  • O monorepo do Google era excelente do ponto de vista de ferramentas

    • Era possível gerar um snapshot de toda a base de código em poucos segundos
    • As builds eram perfeitamente reproduzíveis e executadas em um cluster de build
    • A linguagem de configuração de build era muito simples e concisa
    • A busca de código era instantânea
    • O histórico de arquivos carregava instantaneamente
    • O blame por linha carregava em poucos segundos
    • Era possível fazer busca de símbolos instantaneamente em quase qualquer arquivo
    • Um estilo consistente era imposto por uma cultura compartilhada, linters automáticos e verificações antes do envio
    • Havia atalhos para deep links por arquivo/versão/linha, facilitando o compartilhamento de código
    • Muitas verificações antes do envio garantiam a qualidade do código e dos testes
    • Revisão de código e pareamento de testes durante mudanças de código eram obrigatórios
  • O código de servidor da AOL era excelente

    • Foi escrito por pessoas com profundo entendimento de programação Unix e uso de event loops
    • Era escrito em C, e esperava-se que rodasse por meses sem travar
    • Em caso de falha anormal, enviava por e-mail o core backtrace ao responsável
    • Se houvesse vazamento de memória, a equipe de operações reagia imediatamente
    • Tudo podia ser recarregado em servidores em execução sem reinicialização
    • Os servidores eram administrados usando uma porta de controle TCP e um interpretador TCL
    • Escalava de algumas dezenas até centenas de máquinas físicas com o "No Threads Kernel"
    • Havia 200 desenvolvedores Unix com uma compreensão comum
    • Redatores técnicos entrevistavam os desenvolvedores e escreviam livros que podiam ser repassados a desenvolvedores externos
    • Seguia-se o princípio de trocar mensagens de rede sem escrever em disco
  • A base de código de um emprego anterior era excelente

    • Os engenheiros tinham habilidades excepcionais e não tinham ego
    • A equipe era formada por 4 seniores e 3 engenheiros principais
    • Sempre que surgia um novo requisito, ele era discutido de forma civilizada
    • Até membros juniores conseguiam acompanhar o código existente com facilidade
  • A base de código do Postgres era muito bem organizada

    • Não era preciso se preocupar com segurança de memória
    • Os macros eram usados com cuidado, respeitando quem lê o código
    • A base de código do Postgres era vista como padrão-ouro de desenvolvimento
    • Foi deixado um agradecimento à equipe do pgrx
  • O framework de testes de integração de um grande serviço em Python era excelente

    • Foi construído sobre um framework de testes de integração já existente
    • Definia significados claros para os componentes de teste
    • Montava os componentes de teste como um conjunto inicial
    • O code review garantia que novos componentes seguissem essa semântica
    • No longo prazo, isso não funcionou tão bem
  • A base de código Google3 era gigantesca e funcionava muito bem

    • As dependências eram reexecutadas a cada mudança
    • Os commits eram snapshots imutáveis e eficientes
    • Era muito melhor que o GitHub
  • A melhor base de código era a que eu mesmo escrevi

  • A base de código do Cocotron era muito impressionante

    • Estavam tentando descobrir como portar apps Mac Cocoa para Windows
    • Uma única pessoa implementou todas as APIs essenciais
    • Foi usada com sucesso em apps GUI customizados e complexos
    • Foco é importante
  • A base de código do Facebook permitia upgrades contínuos de código

    • Muito esforço era dedicado ao design da linguagem e às ferramentas
    • O código legado era continuamente atualizado
    • Em outras empresas, era difícil fazer a transição após grandes reescritas
  • A API HTTP do CouchDB estava toda contida em um único arquivo

    • Era um ótimo ponto de partida para aprender banco de dados e programação web
    • Mais tarde, ela foi refatorada pela equipe
    • Foi interessante ver o processo de transição da inspiração para o uso real