Perfil no GitHub e bons padrões de escrita de código

Alguns de vocês já devem saber que o GitHub lançou recentemente um tipo especial de repositórios. Se você criar um repositório que tenha o mesmo nome que a sua conta, o arquivo README.md desse repositório será mostrado na página do seu perfil no GitHub. Se você ainda não viu, dê uma olhada no meu perfil.

TL;DR

Com um simples exercício ao tentar fazer um resumo de quem eu sou em forma de código, consegui notar o quão importante é escrever código que será lido por uma outra pessoa, ao invés de escrever código que máquinas vão interpretar.

Aqui está o repositório com o model que usei para me descrever: https://github.com/arleypadua/arleypadua

Story

Como eu achei a feature bem interessante, eu acabei notando que teria a capacidade de descrever um pouco sobre quem eu sou, relacionada a minha profissão e paixão. Eu comecei a pensar, ok… o que eu posso colocar aqui? Será algo chato, semelhante descrições profissionais no LinkedIn? Quem irá ler isso?

Eu escrevi algumas palavras, mas nenhuma pareceu se encaixar com o propósito da plataforma, quando então decidi escrever um resumo do meu perfil utilizando uma linguagem de programação.

Eu estabeleci algumas regras para essa brincadeira:

  • Utilizar a linguagem que tenho mais afinidade
  • Tem que ser legível
  • Embora seja código, qualquer um tem que entender.

A partir do perfil que tenho em algumas plataformas sociais por aí, rapidamente consegui criar um rascunho de como se pareceria:

Developer arley = Developer
.Married()
.Musician("🎷", Level.Ok)
.BornIn(Countries.Brazil, year: 1991)
.LivesIn(Countries.Netherlands, since: 2017)
.CodesIn(language => language
.CSharp()
.TypeScript()
.JavaScript())
.Interested(@in => @in
.SoftwareArchitecture()
.DomainDrivenDesign()
.DistributedSystems()
.ShareIdeas(at: "https://medium.com/@arleypadua"))
.Found(at => at
.Twitter("https://twitter.com/_arleypadua")
.LinkedIn("https://www.linkedin.com/in/arleypadua/"));
while (arley.HasLife)
{
arley.Travel();
arley.EnjoyLife();
arley.Code();
}
// todo: find out what is next 😅

Eu até mostrei pra minha esposa, que não tem afinidade com linguages de programação e… SUCESSO! Ela entendeu a mensagem.

Então me lembrei de uma fala interessante:

Qualquer um pode escrever código que máquinas entendem, mas bons programadores escrevem código que humanos entendem. — Martin Fowler

Isso se encaixa perfeitamente na vida diária de um desenvolvedor, em que máquinas sempre vão entender instruções, mas como sempre temos que adaptar os nossos códigos à realidade dos negócios que estão em constante mudança, é com bastante frequência que nos vemos indo de volta às instruções, tendo que mudá-las.

Se as instruções não estão legíveis, boa sorte ao tentar um problema e dar aos stakeholders uma mensagem clara de como está o estado atual. Por outro lado, se você tem uma base de código boa, legível, chame seu stakeholder, e converse com ele sobre o que está escrito.

O aprendizado do exercício é: se você quer se tornar um desenvolvedor melhor, pare de desenvolver código que irá simplesmente funcionar e comece a desenvolver código que tenha um real significado.

Arigo pequeno, muito tempo sem escrever por aqui, mas uma lição com algum valor.

Se quiser entrar em contato, estou disponível no Twitter @_arleypadua.

Software Engineer and passionate about distributed systems

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store