Comentário referencial no código, como FIXME TODO BUG ISSUE TODO como usar?

Você viu isto em código. Isto pode ser chamado de code tags.

Estritamente é um comentário como outro qualquer. Ele pode ter um significado específico para alguma ferramenta. É comum IDEs ou pelo menos extensões deles terem alguma coisa que vasculham o código procurando comentários que começam com:

  • TODO: (“para fazer”) Alguém [eu] precisa arrumar isso urgente
  • FIXME: (“me conserte”) Tem um erro que precisa ser consertado aqui, mas funciona (TOFIX:)
  • HACK: (“gambi”) Não teve outro jeito de resolver pra cumprir o prazo, depois melhoro
  • XXX: (“atenção”) Alguns editores destacam comentários com isto como algo importante sem dar semântica específica
  • DONE: (“feito”) Avisar que o TODO está resolvido. Quando remover isto?
  • UNDONE: (“desfeito”) Precisei voltar ao original por alguma razão
  • ASAP: (“tão rápido quanto possível”) Precisa arrumar isso urgente
  • REMOVE: (“remova”) Esse código foi colocado só para testar algo e deve sumir
  • NOTE: (“anotação”) Só para informar que tem algo importante agora
  • BUG: (“falha”) Tem um bug conhecido aqui que precisa ser arrumado – especialização do FIXME – costuma ter um número de ticket associado
  • ISSUE: (“questão”) Há uma dúvida aqui se deve ser assim mesmo
  • ERROR: (“erro”) Tem um erro reproduzível aqui – especialização do FIXME
  • BROKEN: (“quebrado”) não vai pra frente mesmo, não adianta insistir – especialização do FIXME
  • GLITCH (“falha”) Algo estranho ocorre aqui em situação bem específica
  • REVIEW: (“revise”) Revise isso pra mim, usado onde se costuma fazer peer review
  • WTF: (“que p0rr@ é essa?”) Fizeram um besteira muito grande aqui

 

Exemplo de Utilização:

 

// TODO: alguma coisa escrita
código....

 

 

Referencehttps://pt.stackoverflow.com/questions/121245/todo-o-que-%C3%A9-qual-sua-utilidade-e-como-usar

Alta produtividade em Java

 

Alta produtividade em Java???
Como?

Pois é, isso é o que o Play!Framework MVC promete.

Para os desenvolvedores PHP que utilizam o famoso Cake, ou Spaghetti framework entre outros, essa é uma opção de desenvolvimento Java à estes em PHP.

Achou interessante? Visite os links:

http://blog.erkobridee.com/2011/12/05/play-framework-alta-produtividade-em-java/

http://www.slideshare.net/allysonbarros/play-framework-desenvolvendo-aplicaes-web-com-java-sem-dor

http://imasters.com.br/artigo/23777/java/redescobrindo-java-com-play-framework

 

Fica a dica.

T+

Redirecionamento 301 com Spaguetti via .htaccess

O redirecionamento abaixo foi feito juntamente com o .htaccess do spaguetti, mas pode ser utilizado em outras situações também.

Segue o script abaixo para um redirecionamento de uma página antiga chamada /faleconosco.asp para a nova que é /contato/

 

 

Exemplo abaixo:

redirect 301 /faleconosco.asp http://www.seusitecom.br/contato/

Options +FollowSymlinks
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ app/webroot/$1 [L]
</IfModule>

 

Preto é o Redirecionamento.
Vermelho é a página antiga.
Verde é a página nova, que pode ser url amigável (/contato/) ou com extensão (/contato.php) dependendo da programação
Azul é os dados utilizados no Spaguetti.

Link amigável dinâmico com imagens

Criando link de imagens passando o id do registro e configurando URL amigável.
Primeiro resgatamos valores do banco de dados e inserimos algumas condições opcionais.

Controler-1

$logo = $this->Operadora->all(array( ‘conditions’=>array( ‘
cancelado_id IS NULL’,
‘status_id’=>2,
),
‘fields’=>array(
‘nome’,
‘logo’,
‘id’
),
‘groupBy’=>’id’,
‘limit’=>’9’,
‘recursion’=>-1
));

//Preparamos a variável para poder ser usada na view obtendo os valores desejados.

$this->set(‘logo’,$logo);

View-1

//Exibimos as imagens e configuramos o link amigável, para que o id possa ser passado para a pagina direcionada.

foreach($logo as $a):
echo ‘<div>’; $slug = Inflector::slug(utf8_encode($a[‘nome’]));
echo $html->imagelink(‘../files/operadora/’.$a[“logo”],’/operadora/detalhe/’.$a[“id”].’/’.$slug,array(‘alt’=>$a[‘nome’]));
echo ‘</div>’;
endforeach;

Configuração da página a ser direcionada.

Controller-2

//Selecionamos os dados e passamos o id e slug como o nome no caso para a função que irá obter os dados desejados da página qual foi direcionada a navegação.

public function detalhe($id = null, $slug = null){

$this->set(‘opera’,$this->Operadora->combo(array(),’Operadora’));
$this->set(‘abrang’,$this->Abrangencia->combo(array(),’Abrangência’));
$this->set(‘acomod’,$this->Acomodacao->combo(array(),’Acomodação’));

if(is_numeric($id)):
$all = $this->Operadora->first(array(
‘conditions’=>array(
‘cancelado_id IS NULL’,
‘status_id’=>2,
‘id’=> $id
),
‘groupBy’=>’id’,
‘recursion’=>-1
));
$this->set(‘all’,$all);
else: $this->redirect(‘/’);
endif;
}

View-2

//Exibindo informações desejadas

echo $html->image(‘../files/operadora/’.$all[“logo”]);

Spaguetti Google Maps

Abaixo segue o link com com o explicativo para inserção do google-maps dinâmico dentro do Spaguetti.

Site: http://forum.spaghettiphp.org/topics/view/3392/google-maps

Filtro multiplo get e params Spaguetti

$filter = array(
‘id > ‘=>0,
‘cancelado_id IS NULL’
);

#BEGIN – FILTRO DINÂMICO COM BUSCA E PAGINAÇÃO – VERFIICANDO GET E PARAMS
if($_GET):
$paramsF = array();
if(!empty($_GET[‘nome’]) || isset($params[‘nome’])):
$paramsF[] = ‘nome:’.$params[‘nome’];
endif;

if(!empty($_GET[‘status’]) || isset($params[‘status’])):
$paramsF[] = ‘status:’.$params[‘status’];
endif;

if(!empty($_GET[‘perPage’]) || isset($params[‘perPage’])):
$paramsF[] = ‘perPage:’.$params[‘perPage’];
endif;

$paramsF = join(‘/’,$paramsF);
$this->redirect(‘/admin/operadora/index/’.$paramsF);
endif;

if(!empty($params[‘nome’])):
$filter[] = ‘nome LIKE “%’.$params[‘nome’].’%”‘;
endif;

if(!empty($params[‘status’])):
$filter[] = ‘status_id = ‘.$params[‘status’];
endif;
#BEGIN – FILTRO DINÂMICO COM BUSCA E PAGINAÇÃO – VERFIICANDO GET E PARAMS

$perPage = ($params[‘perPage’]) ? $params[‘perPage’] : 20;
$all = $this->Operadora->paginate(array(
‘perPage’=>$perPage,
‘page’=>$this->page(),
‘conditions’=>$filter,
‘order’=>’nome ASC’
));
$this->set(‘all’,$all);