6 maneiras de fazer a mesma coisa, o que é considerado boas práticas?

As vezes tem tantas maneiras diferentes de fazer o mesmo código que nós ficamos na dúvida quanto a qual maneira usar. O que seria considerado "boa prática" pela comunidade e o que sua equipe entenderia melhor. Suponhamos que você esteja trabalhando dentro de um método de um Domain Service chamado UmDomainServiceChique(objetoDoDominio) que será chamado por uma API. Você tem uma regra de negócio chique para ser verificada que por enquanto chamarei de VerificaMinhaRegraChiqueComplexa(). Você chama UmDomainServiceChique(objetoDoDominio) e caso VerificaMinhaRegraChiqueComplexa() retorne true você vai querer que UmDomainServiceChique faça o que tem que fazer e a api retornar Ok 200, caso contrário você quer que a API responda um erro qualquer, tipo BadRequest, e retornar uma mensagem dizendo que VerificaMinhaRegraChiqueComplexa deu ruim. Eu vejo 6 maneiras de fazer isso, gostaria de saber a opinião de outrs devs sobre qual seria a maneira menos gambiarr

Softwares Open Source que merecem um donativo

Eu gosto de software open-source. Mais ainda se for software open-source para windows.
(Aguardando xingamentos e profanidades ...)
Calma, pessoal, não me xinguem ainda. Eu amo o linux, apenas ainda não me sinto produtivo o suficiente com ele. Alem disso só posso usar o linux em casa, no trabalho é o velho windão.
Existem muitas maneiras de se manter um software open-source:

  • - Totalmente através de colaborações voluntárias de hobbistas: nesse caso o software é totalmente mantido por pessoas e não por organizações.
  • - Mantido por uma organização sem fins licrativos, ong, instituição ou ong
  • - Mantido por uma empresa, como opção aberta e de baixo custo de um outro produto proprietário.
  • - Mantido por uma empresa que vive de serviços.
  • - Mantido por uma empresa que USA o software, então precisa redistribuí-lo
  • - Também por empresa, quando a empresa patrocina ou apoia de alguma maneira.
  • - Mantido por um consórcio, grupo ou coisa do gênero de empresas que entram em acordo para convencionar padrões, modelos, compatibilidades etc.
  • - Qualquer misto das opções acima.

Muitos desses softwares precisam de donativos para continuar mantendo o ritmo de desenvolvedores totalmente voluntários em full-time.
Não é só usar, além de divulgar, testar, documentar e ajudar a resolver bugs, os softwares precisam de dinheiro, principalmente os que não tem fundação, apoio ou patrocinadores.
Já vi muitos softwares desse gênero morrerem por falta de apoio. Eu gostava pra caramba do Kurumin, mas, infelizmente, acabou.
Abaixo vai uma lista de softwares que merecem um donativo em $$$, para continuarem se mantendo. Alguns nem precisam de donativo, mas merecem consideração.

  1. Browser Firefox - http://br.mozdev.org/
  2. Banco de dados Firebird - http://www.firebirdsql.org/
  3. Computação nas nuvens? Experimente o sistema operacional online EyeOs - http://eyeos.org/
  4. Sistema operacional open-source compatível com o windows - http://www.reactos.org/pt/index.html - Esse é uma jóia!!!
  5. Ubuntu - sem comentários - http://www.ubuntu-br.org/
  6. E-commerce magento - http://www.magentocommerce.com/download/noregister - esse cara não precisa de donativo porque já tem uma versão comercial, mas merece consideração
  7. #Develop, O Visual Studio Livre - http://www.icsharpcode.net/OpenSource/SD/
  8. Blender - http://www.blender.org/
  9. Trocentas linguagens, bibliotecas e frameworks na web
  10. Lazarus e freepascal, não podemos esquecer deles! - http://www.lazarus.freepascal.org/
  11. Projeto JEDI, para quem gosta de delphi e c++ builder, como eu! - http://www.delphi-jedi.org/
  12. Projeto Infra (Integrated Frameworks) - Promete ser o melhor framework OO para Delphi! - http://code.google.com/p/infra/
  13. Dance Dance Revolution de gratis! é o step mania, demais cara! - http://www.stepmania.com/
  14. Guitar Hero de gratis! é o frets on fire - http://fretsonfire.sourceforge.net/
  15. O maravilhoso notepad++ - http://notepad-plus.sourceforge.net/br/site.htm
  16. Já vi vários editores de UML livres, mas o Frame UML é rapido, facil, bonito e atendeu minhas necessidades, ponto pra ele! - http://sourceforge.net/projects/frameuml/
  17. NetBeans - Eu sei o quanto é bom! - http://www.netbeans.org/

Esqueci de algum? Bom, ajude a aumentar essa lista. Se o software livre for seu, pode fazer Jabá a vontade :)


Falando de software livre, gostaria de mencionar o pobre-source. É uma classe de software livre muito interessante. São softwares de um programador só.
O criador geralmente é um programador que ama o que faz e não ganha o que merece, então, como hobby ou freela, cria um software que acaba ficando muito bom.
De repente o cara resolve abrir o código do programa e jogar no sourceforge ou por aí na net na esperança de ser notado e contratado por uma grande empresa do ramo.
Se o software for muito bom, pelo menos famoso ele vai ficar.

Tem muito software livre ruinzinho ou medíocre mesmo por aí, mas eu só posso imaginar que por falta de tempo ou dinheiro do(s) programador(es) o software nasceu e morreu muito rápido.

Bom, é isso, divulquem os softwares livres que gostam e me ajudem a aumentar essa lista ^^

Comentários

  1. Thanks for the post about magento books.I think the magento guide more useful to magento learner.magento custom design

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

6 maneiras de fazer a mesma coisa, o que é considerado boas práticas?

Detectar o encoding de um arquivo para não corromper ao transformá-lo

Uso de memória no SQL Server