Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Holt

Biblioteca de funções

Recommended Posts

Estava pensando esses dias como criar aquelas bibliotecas de funções javascript, ou das definições CSS facilitam a vida quando você precisa fazer mesma coisa em trocentas páginas diferentes...

Tem como criar algo do tipo com o php...

Pra quema inda não entendeu oque eu tô falando é tipo assim...

você criaria a página por exemplo "biblioteca.php"

dai você coloca as suas funções lá dentro...

Quando você precisar de alguma delas você colocaria tipo...

dentro da página "cadastro.php" algo que chamasse a página "biblioteca.php"

e você pudesse usar as funções que estão lá...

 

PS: Enquanto escrevia isso lembrei da funçõa include()... ela serviria para isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, exatamente.

A resposta esta na sua pergunta.

 

Algo semelhante eh feito com a conexao do banco de dados.

Evite repetir codigo. Reaproveite.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguir esse raciocínio seria seguir o DRY (Don't repeat yourself - Não se repita) e o princípio KISS (Keep it simple, stupid - Simplifique, idiota)

 

Muito usado na programação que segue o padrão MVC. Um exemplo é o Zend Framework e seus action helpers.

 

Mas claro que você pode fazer o mesmo sem um framework, mas o trabalho é dobrado e nem sempre a qualidade é a mesma (falo por experiência).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguir esse raciocínio seria seguir o DRY e o princípio KISS

DRY não necessariamente está relacionado com KIS, muitas vezes para não se repetir é necessário abstrair e para isso é necessário prever várias situações.

 

Estou escrevendo uma série de tutoriais e também um curso sobre PHP Orientado a Objetos que serão publicados em breve aqui no fórum, mostrando como escrever um código reutilizável. O primeiro da série, dedicado ao MVC será publicado já em alguns dias (ainda essa semana) na área de tutoriais.

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Discordo. Eu aredito que se relacionam sim.

 

Quando criamos uma biblioteca o objetivo é sempre simplificar uma tarefa.

 

Exemplo:

 

Preciso limpar os dados nulos de um array, recursivamente ou não. Com uma função, de uma biblioteca, estou, em uma linha, realizando a mesma tarefa que, talvez fizesse em 10 ou 15, com foreach e recursividade.

 

Criando essa função, já estou aplicando o KISS, mesmo que não perceba.

 

Já o princípio DRY seria, por exemplo, uma outra função, de outra biblioteca ou não, que precise também limpar os mesmos valores nulos de um array que retorna. Novamente invoco a mesma função ao invés de re-escrevêla.

 

E, com isso, estou aplicando o DRY em cima de um KISS pois estou reutilizando um recurso em uma tarefa que, originalmente visa simplificar.

 

Concorda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Discordo. Eu aredito que se relacionam sim.

hehehe, acho que você não entendeu no meu POST quando eu disse 'não necessariamente', mas de qualquer forma, encontrei um texto interessante e fiz uma tradução rápida de duas partes que falam justamente sobre DRY e KISS:

 

Pilar 1: KISS - Keep it Simple Stupid

 

Muitos devem ter ouvido a regra KISS - Mantenha isso Simples Estúpido. Como ela implica, indica que você deve sempre manter a simplicidade em cada aspecto do seu produto - do design, até a implementação, mesmo nos processos do software. A inerente complexabilidade presente nos grandes projetos fazem o desenvolvimento e a sustentabilidade dura o suficiente mesmo sem coisas desnecessárias sendo introduzidas ao produto por vários indivíduos.

 

KISS é uma mentalidade que deve ser introduzida em todos que trabalham no projeto. Muitos ou até a maioria das pessoas não têm apreciação pela complexabilidade e muitas vezes subestimam o impacto negativo que pequenas partes complexas podem trazer ao produto com o tempo.

 

Umas poucas perguntas exemplificando onde KISS deve ser aplicado:

 

* Porque vamos implementar esse padrão de projeto ? Existe um padrão que pode ser mais eficiente fácil para manter ?

* Existe uma forma mais simples de implementar essa parte do código ?

* Todas as etapas do nosso processo fazem sentido ou existem momentos que podem ser mais eficientes ?

* Existem partes do código ou do processo que tendem a repetir várias vezes que podem ser simplificadas ?

 

 

Pilar 3: DRY - Don't Repeat Yourself

 

DRY é uma regra que atualmente orienta a maioria dos padrões de projeto e recomendações de refatoramento. Um dos grandes problemas da manutenção é quando você tem código repetido por todo o projeto. O que tende a ocorrer nesses casos é que quando uma dessas cópias precisa ser atualizada, desenvolvedores precisam procurar em todo o código e atualizar todas as cópias. Cedo ou tarde uma ou mais cópias terminam sem ser atualizadas e você passa a ter bugs. Adicionalmente, cópias da lógica aumenta o volume de código que precisa ser mantido o que faz um produto mais confuso no geral.

 

Então em resumo, quanto você se ver copiando e colando um pedaço de código, separe ele em um método ou módulo próprio. Ele será muito menos propenso a bug e mais fácil de manter no futuro.

 

O texto original: The Maintainable Software Mindset de Robert Riley pode ser encontrado na integra em: http://rsriley.com/s...oftware-mindset

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, houve má interpretação do seu advérbio negativo de modo (uia, eu ainda lembro disso :lol: )

 

Mas, em síntese, é o mesmo. Ambos os conceitos podem existir isoladamente numa aplicação. Porém, quando coexistem, unem forças em prol do melhor código.

 

Agora chega, já fugimos muito do escopo do tópico :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.