Changes between Initial Version and Version 1 of WF/depreciacao


Ignore:
Timestamp:
06/29/10 10:25:26 (14 years ago)
Author:
asaikawa
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WF/depreciacao

    v1 v1  
     1== Depreciação (deprecation) == 
     2 
     3A depreciação de classes e métodos pode ocorrer quando eles são considerados em desuso (ou desatualizados) em um sistema, ou API.[[BR]] 
     4A utilização desses ítens deve ser evitada pois se tornarão obsoletos em versões futuras e devem ser rotulados com a notação '''@deprecated'''.[[BR]] 
     5Portanto, sistemas novos não devem os utilizar e sistemas antigos, que fazem uso dessas classes e métodos, devem ser modificados para que usem seus substitutos e, assim, continuem funcionando normalmente. 
     6 
     7Existem várias razões para que uma funcionalidade caia em desuso, como por exemplo: 
     8 * é insegura 
     9 * possui um bug 
     10 * é ineficiente 
     11 * será removida em versões futuras 
     12 * proporciona más práticas de programação 
     13 
     14Detectada a necessidade de depreciar uma classe ou método, deve-se avisar os desenvolvedores e prover-lhes uma alternativa para que possam substituir o uso da funcionalidade depreciada em seus códigos.[[BR]] 
     15Porém, cabe aos próprios desenvolvedores certificarem-se que o uso da opção sugerida é realmente adequada ao seu sistema e efetivarem a alteração necessária em tempo para que seus usuários não sejam prejudicados. 
     16[[BR]][[BR]] 
     17 
     18== No Workflow == 
     19 
     20No módulo Workflow do Expresso, foi implementada uma função ([http://trac.expressolivre.org/ticket/446 ver ticket #446]) para alertar os desenvolvedores a respeito dos métodos depreciados. 
     21Ela deve ser chamada pelo método depreciado e, além de apresentar uma mensagem de ''warning'' na tela, também registra em arquivo de log quando esse método é utilizado. 
     22Essa mensagem pode sugerir a classe e método que devem ser usados como substitutos aos ítens depreciados. 
     23 
     24Notando-se a necessidade de depreciação de uma classe ou método no Workflow, o procedimento a seguir deverá ser adotado: 
     25 * desenvolver o novo ítem que substitua o depreciado 
     26 * rotular o ítem depreciado com ''"@deprecated X.Y"'', onde X.Y é a versão dessa depreciação 
     27 * adicionar a chamada da função ''"wf_warn_deprecated_method('__classe__', '__método__')"'' na primeira linha do método depreciado, informando a classe e método substitutos, quando necessário 
     28  * essa função mostra um alerta na tela (caso esteja habilitado) e registra em arquivo de log 
     29 * monitorar log para verificar se há processos desatualizados 
     30  * caso haja, entrar em contato com os desenvolvedores responsáveis comunicando a futura remoção das depreciações e solicitando a atualização do seu código 
     31 * efetuar a remoção dos códigos depreciados depois de duas versões intermediárias 
     32  * no caso de ''"@deprecated 1.1"'', a remoção ocorrerá na versão 1.3, por exemplo