2013-07-03 10 views
16

Mi sono trovato in una situazione in cui un caso di sostituzione è l'opzione migliore. Con questo voglio dire:Qual è il modo migliore per documentare l'interruzione intenzionale degli switch?

switch($bar) 
{ 
    case 0: 
     // do something 
    case 1: 
     // do more 
     break; 
    //more cases 
} 

Attualmente il mio IDE (PhpStorm) sta gettando un avviso circa la caduta-through.

Esiste un modo accettato in phpDoc per documentare tali fall-through previsti?

n.b. Sono consapevole che alcuni di voi diranno senz'altro di non farlo, ma mi iscrivo a questo definition of evil e questo è certamente il "il meno peggio delle alternative".

+2

Metto sempre "// Delibera fallthrough" in un commento alla destra del colon, anche se questo è più per il programmatore. Non penso che tu possa disabilitare l'avviso per l'IDE – GordonM

+0

l'unico modo per sbarazzarsi dell'avviso sarebbe quello di configurare gli avvisi, che phpstorm stampa, in questo caso rimuovere l'avviso di fall-through. ma questo non è molto produttivo perché forse in un altro script si dimentica la pausa e quindi l'avvertimento sarebbe utile. lo gestisco semplicemente ignorando l'avviso e magari aggiungo un commento in più o qualcosa di simile ad esso per chiarire che questo è stato intenzionalmente scritto così com'è. – luk2302

+0

@GordonM Lo faccio già, ma mi chiedevo solo se esistesse un modo più formale di documentare questo comportamento. –

risposta

35

Sebbene la domanda faccia esplicita domanda su phpDoc, ecco una soluzione specifica per IDE per PHPStorm.

per Javascript, commentare

//noinspection FallthroughInSwitchStatementJS 

sopra l'istruzione switch.

Per PHP, commentare

/** @noinspection PhpMissingBreakStatementInspection */ 

sopra l'istruzione caso incriminato.

+0

Bello! Questo è il genere di cose che speravo. Grazie. –

+3

In PHPStorm (probabilmente anche in altri IDE di JetBrains), puoi anche premere Alt + Invio con il cursore sopra il pezzo di codice che causa l'errore e selezionare "Sopprimi per istruzione". Quindi il commento appropriato per disabilitare l'ispezione verrà automaticamente inserito nella posizione corretta. – rob74

+1

Questo aiuta, ma sarebbe comunque bello se PhpDoc potesse avere un tag come @fallthrough :) Forse qualcosa per PHP-Fig – donquixote

Problemi correlati