Giter Club home page Giter Club logo

gcbmsg's Introduction

Reinventar a roda. Característica dos programadores.

É um problema pois temos trocentas coisas parecidas e diversas horas de talento jogadas fora e que poderia ser utilizadas para outras coisas mais nobres.

Mas pretendo focar no lado que não é um problema.

No mundo real também temos coisas parecidas. Um mesmo produto alimentício pode ser diet, light, normal, etc.. Carros existem de diversas cores, características, tecnologias, formatos e preços (só não existem os populares :D ).

Diversos fatores podem levar o programador a fazer ou programa similar a outro.

  • Quem conheceu Ruby no início sabe do code kata. Praticar e resolver problemas faz com que o programador assimile a linguagem e se torne melhor e mais apto a resolver os problemas quando surgirem. Então resolve fazer o programa na linguagem que ele usa ou está aprendendo.

  • Um programa pode conter características em demasia e ele acha que o programa deveria ser mais enxuto e resolve fazer a versão dele.

  • O programa está em uma linguagem que ele não domina ou gosta e resolve fazer a versão dele.

  • Apenas por não saber que já existia um programa que fazia aquilo.

  • Apenas para provar que a linguagem escolhida também pode fazer aquilo.

Por aí vai. Recentemente foi publicado o artigo Ferramenta para padronização de commits - GEC (Git Easy Commit) que teve como ideia Escrever commits melhores. Existem outros.

Ok, programas interessantes mas .... .

Tirando o tamanho do programa em Go, não acho legal aqueles menus. Gostaria de algo simples e direto como os programas que estou acostumados no Linux. Então tá. Vamos reinventar a roda.

  • Gostaria de algo que executasse como: cmd -x "correção" e fosse traduzido para git commit -m "FIX : correção".

  • Gostaria que ele fosse compilado e ligado estaticamente (não dependesse de bibliotecas externas)

Se Pascal já foi usado para fazer o primeiro SO gráfico (Lisa), programas como as primeiras versões do Photoshop (não sei como é agora), WPS (sabe aquela suite concorrente do Excel que roda no Linux e Windows?) entre outros, poderia ser uma boa candidata.

O nome? Como uso o zsh com Oh My ZSH e possui o alias gcmsg mensagem que executa um git commit -m "mensagem" e já estou acostumado, vou nomear como gcbmsg.

Tec, tec, tec, ctrl+c, ctrl+v, tec, ctrl+x, tec. Tec, ctrl+s. Pronto. Agora é só testar.

Ok. Perfeito de primeira. :D

Entro gcbmsg -0 e ele executa git commit -m "Initial commit". Entro com gcbmsg -x "correções" e ele transforma em git commit ḿ "FIX : correções". Ah, mas eu queria que tivesse a opção -b para sair BILUBILU : mensagem. Fácil. Os fontes foram disponibilizados. Um fork, inclui a opção e recompila. Ou pode usar a opção -m e entrar que ele assume só a mensagem informada.

Muito fácil. Vamos compilar para Windows, mas sem sair do Linux. Basta criar um novo perfil, informar o processador e o SO e recompilar selecionando o novo perfil. Pronto. Um executável para Windows sem alterar nenhuma linha de programa.

Ok. A versão para Linux funcionou bem no WSL. O Power Shell (sic) não sabe lidar com UTF-8. Dane-se. Eu não uso ele mesmo.

Bem, vamos parar por aqui. Espera um pouco. Será que funciona no Haiku ? Vamos tentar. Criamos o novo perfil e ... funciona.

Então tá. Tirando Mac que eu não tenho como testar, funciona nos três melhores sistemas operacionais (Linux, Haiku e WSL).

Por enquanto era isso.

Reinventar a roda é divertido.

gcbmsg's People

Contributors

guaracy avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.