Executando verificação de segurança...
1

Sem dúvidas o Git é essencial, para qualquer desenvolvimento que não seja um dever de casa!

Mesmo trabalhando no código do meu mestrado, que eu fiz completamente sozinho, e closed-source, o Git se mostrou indispensável.

O Git é uma ferramenta de versionamento de código, acima de tudo. Isso é essencial para te dar segurança de fazer qualquer modificação no seu código, sem correr o risco de quebrar algo que já está desenvolvido. Se deu problema, é só voltar para um commit anterior. Se você quer testar alguma modificação grande, é só criar uma branch nova. Se tiver mais pessoas trabalhando também, só criar branches separadas.

Eu já peguei código de amadores que estavam tentando montar uma empresa para fazer dinheiro de forma rápida, sem querer entender sobre o mercado de desenvolvimento. O desenvolvedor (que era idolatrado pelos colegas que não entendiam de desenvolvimento) seguia a filosofia de criar uma cópia do código toda vez que ele fazia algo e continuava funcionando. Era literalmente um main_v8f_threads_fun.py.
Ele desenvolveu o código inteiro em um arquivo só. Nunca haviam nem ouvido falar em testes unitários. Havia duplicação de código por todo lado. Código altamente acoplado, funções com milhares de linhas (ferindo o SRP), sem nomes expressivos para variáveis ou funções... O resultado é que nem ele conseguia fazer alterações no código que ele criou, e não queria que ninguém mais mexesse no código, pois tinha medo de parar de funcionar o que ele já tinha feito.

Sugeri o Git, expliquei as vantagens, ele não quiseram. Disseram que o foco era conseguir ter algo funcional o mais rápido possível, que esse tipo de coisa viria depois. Eles não entendiam o conceito de débito técnico que eu tentava explicar: "se a gente fizer o código bem feito, a gente vai ter algo funcional bem mais rápido"... Eles não confiavam nisso. Eu pulei fora dessa roubada em menos de um mês, e a empresa fechou pouco tempo depois.

Quando se trabalha com Git você nunca perderá o que foi feito (se você fizer commits frequentes). Se aparecer um Bug de uma versão pra outra você pode fazer um diff entre versões para encontrar o bug de forma mais rápida. Você pode refatorar seu código continuamente, pois se der merda, é só voltar pra algum commit anterior. Você não precisa ficar guardando código comentado no meio do seu código funcional, porque "pode ser útil de novo no futuro" - se precisar daquele código, ele estará no commit anterior ao que o removeu.

Enfim. Se sua empresa não quiser usar o Git, eu recomendo pular fora assim que aparecer outra oportunidade, pois ela não sobreviverá muito tempo. Não tem como desenvolver software de forma competitiva sem Git.

Sobre o Github (ou Bitbucket, ou outras alternativas), ele ajuda na colaboração, e ajuda a manter um backup do seu código em nuvem também. Se estiver trabalhando sozinho, ainda é bom para evitar ter que ficar copiando repositório para um HD externo para manter backups. Se houver mais do que um desenvolvedor no projeto, então essa solução na nuvem se torna essencial.

Carregando publicação patrocinada...