Entrevista do fundador: como a codina usa codecs para construir a codificação.

Um CTO e seu cão andam pela praia. Conheça Codacy!

Por favor, acesse nosso patrocinador semanal Codacy de volta ao Hacker Noon! A Codacy automatiza os padrões de qualidade e revisões de código em cada pedido de compromisso e de envio para que você possa enviar 2 dias antes em cada sprint de 2 semanas. É muito fácil de tentar, então não tire isso de mim, experimente você mesmo AQUI . Como engenheiro mim , é muito emocionante para entrevistar de Codacy CTO João Caxaria – vamos ficar muito técnico. Aqui está a nossa entrevista.

Para os leitores do Hacker Noon, oferecemos 15% de desconto usando este código: HACKERNOON.

Percebi que você foi para a escola em Lisboa. Além de ter basicamente sua própria porta de portão dourado, isso é muito longe do vale do silício. O que o inspirou a iniciar uma carreira no software?

Enquanto cresci, sempre fui um geek. Meu pai ensinou TI em uma Uni local e, em paus escolares, eu sempre iria com ele e ajudaria ele a reconfigurar as máquinas para o novo ano letivo. Isso envolveu instalações de SO, configuração de rede local, etc. Claro que inicialmente só faria o que me disseram, mas rapidamente começou a experimentar hardware antigo deixado para trás. Além de deixar uma trilha de máquinas quebradas, deixou um sentimento especial em relação à TI. Quando eu tinha 16 anos, meu pai me deu meu primeiro compilador (é louco o quão difícil era encontrá-los na época) e foi isso.

Você então mudou-se para a cidade (distrito financeiro de Londres), como foi a mudança. Você tem alguma história legal?

Desde o meu tempo no Reino Unido, eu realmente vi como o desenvolvimento de software diferente pode ser; Eu passei por um projeto que trabalhou com metodologias de cachoeira pura: um arquiteto passou 9 meses de planejamento e, depois disso, entrou e em 2 meses implementou o sistema, para um ambiente totalmente ágil, às vezes, onde os requisitos mudariam semanalmente. Em Portugal, eu só tive contato com um pequeno número de equipes, e trabalhar com essas metodologias completamente diferentes foi realmente um abridor de olho. Eu até gastei 6 meses (6 meses realmente difíceis) onde, devido a pedidos de mudança e procedimentos legais, eu só tinha permissão para escrever uma linha de código. Em 6 meses. Foi tudo o que foi solicitado e permitido entregar.

O que o inspirou a criar Codacy?

Eu teria que dizer que meu parceiro, Jaime Jorge , era a força impulsionada por trás disso. Embora eu tivesse iniciado um mestrado em Qualidade de Software antes, e comecei minha carreira com uma enorme influência dos ensinamentos de Martin Fowler e Kent Beck, não foi até que eu conheci Jaime e aprendi com sua visão que comprei na idéia de que era isso que eu queria realmente focar minha carreira.

Quais foram os maiores desafios na criação do Codacy?

O maior desafio para mim, é aquele em que estamos tentando trabalhar no * agora *. Ele mudou ao longo do tempo e, toda vez que abordamos algo, outra novidade surge. Às vezes, é relacionado à tecnologia, às vezes pessoas relacionadas, às vezes ambas.

Qual é a coisa mais surpreendente que seus clientes lhe fizeram?

Felizmente, Codacy vem evoluindo desde que começou. Ocorreu várias mudanças e, hoje em dia, oferece uma solução tão completa para análise de código estático e qualidade do código. Parte disso faz parte da nossa visão, mas, para ser justo, também é parte da visão de nossos clientes. Eles foram a unidade para melhorar e entregar uma ferramenta que realmente pode ajudá-los a enviar o software mais rápido. Às vezes, os pedidos dos clientes são encontrados com surpresa, mas todos eles são parte de uma dor que eles estão enfrentando, então nós sempre tentamos encontrá-los com uma mente aberta e entender o que eles estão tentando corrigir com cada pedido.

Que coisa interessante aconteceu no início, isso fez com que você mudasse de ponto de vista?

Inicialmente, Codacy foi configurado um ramo por projeto. A idéia era mais para monitorar o ramo principal e outros ramos podiam ser configurados como seus próprios projetos. Antes de o aplicativo estar em alfa, entendemos o quão errado isso seria avançar 🙂 Hoje em dia, com o fluxo de git, pedidos de tração, etc., podemos ver como essa mudança "menor" no início era fundamental para o que entregamos desde então.

Como desenvolvedor, quão difícil é o processo de conectar Codacy no meu fluxo de trabalho? Está clicando em um botão no github? Posso usar uma versão on-prem de?

Para usar o Codacy na nuvem ( codacy.com ), é uma questão de clicar em um botão. Se você quiser usar a versão on-prem, ele é um forro único no bash para instalar. A partir de então, é exatamente como na nuvem, mas em seu próprio fornecedor de infraestrutura / nuvem.

Qual é o problema mais comum que você vê com os codificadores, é algo simples como o DRY, ou algo como desempenho / superprotimação / não captura de bugs?

É difícil de generalizar assim, dependendo de várias variáveis: linguagem, experiência em equipe, frameworks usados, etc. Vemos que as ferramentas automatizadas só o levam até agora e o valor real é ter uma combinação de revisão automática e manual. Se eu tivesse que escolher algo para se certificar de que qualquer equipe que trabalhasse comigo tivesse um cuidado extra seria a arquitetura apropriada uma solução antes de implementá-la, certificando-se de que as abstrações requeridas e padrões de código são considerados e aplicados. Para tudo o resto, ferramentas como o Codacy podem ajudar (e, claro, monitoramento e registro apropriados)

Como você descobre o carrinho? Testes de mutação ?

Testar um aplicativo é obrigatório e deve fazer parte do processo de certificação de um software, mas não é a parte que a Codacy o ajuda na automação. Realizamos revisão de código automatizada através de análise de código estático, o que significa que seu código nunca é executado em nossos servidores. Codacy passa pela sua base de código e, como uma maneira simplista de explicar, a partir da lista de milhares de problemas existentes e previamente identificados relacionados ao seu idioma e frameworks utilizados, tentamos encontrar quais aplicam seu código e notificá-lo de possíveis problemas se não são corrigidos.

Você deu meu código de 4 anos atrás ( https://www.codacy.com/app/jayzalowitz/StocktwitsAPI/dashboard ) um A. O que é incrível, obrigado! Como você chegou a este grau?

Parabéns por isso A! Usamos uma equação que leva em consideração qualquer problema que possamos ter descoberto no código (como explicado anteriormente), e misture com a complexidade do código, a duplicação e, para os projetos que o possuem, os detalhes da cobertura. Comparando seu projeto com o padrão da indústria, então podemos classificá-lo. Este sistema de classificação é algo que estamos melhorando atualmente e devemos ter novidades emocionantes em breve!

Posso englogar programativamente em ferramentas CI / CD. Você tem guias para isso?

Existem alguns guias para isso, como o seguinte a partir do código postal ( https://blog.codeship.com/integrating-codacy-with-codeship/ ). Dependendo do que você está tentando realizar (cobrir cobertura, construir break, etc.), existem algumas soluções diferentes. Se você não consegue encontrar o que está procurando, apenas fale conosco e teremos algo para sua ferramenta!

Estou supondo que você use Codacy para desenvolver Codacy, podemos obter uma captura de tela do que seu estado está no momento agora?

Codacy é desenvolvido como um monte (mais de 100) de serviços distribuídos menores por isso há (ainda) nenhuma visão única do Codacy dentro do Codacy para mostrar o status completo do projeto (verifique-nos logo para isso;). Mas esta é uma pequena parte disso:

Para os leitores do Hacker Noon, oferecemos 15% de desconto usando este código: HACKERNOON.

Continue com o Codacy no Facebook e no Twitter .