L'uso di "commento" di continue
è offensivo come un goto :-). È così facile mettere un #if 0/#endif
o /*...*/
, e molti editori quindi codificheranno il codice commentato in modo che sia immediatamente evidente che non è in uso. (A volte mi piace, ad esempio, #ifdef USE_OLD_VERSION_WITH_LINEAR_SEARCH
quindi so che cosa è rimasto lì, dato che mi è subito chiaro che non avrei mai avuto un nome macro così stupido se mi aspettassi che qualcuno lo definisse durante la compilazione ... suppongo che dovrei spiegarlo al team se ho condiviso il codice in quello stato però.) Altre risposte indicano che i sistemi di controllo del codice sorgente ti permettono semplicemente di rimuovere il codice commentato, e mentre questa è la mia pratica prima del commit - c'è spesso una fase di "lavoro" dove vuoi in giro per il massimo riferimento incrociato, copia-incolla ecc.
Per gli scenari: praticamente, non importa quale si utilizza a meno che il progetto abbia un approccio coerente con cui è necessario adattarsi, quindi suggerire l'utilizzo di ciò che sembra più leggibile/espressivo nelle circostanze. Nei blocchi di codice più lunghi, un singolo continua può essere meno visibile e quindi meno intuitivo, mentre un gruppo di essi - o molti sparsi nel loop - è difficile da perdere.Anche il codice troppo annidato può diventare brutto. Scegliere quindi se non si è sicuri, quindi cambiarlo se l'alternativa inizia a sembrare attraente.
comunicano informazioni leggermente diversa al lettore anche: continue
significa "ehi, esclude tutte queste circostanze e poi guardare il codice qui sotto", mentre il blocco if significa che si deve "spingere" un contesto ma hanno ancora tutti nella tua mente mentre cerchi di capire il resto degli interni del ciclo (qui, solo per trovare il se immediatamente seguito dalla terminazione del ciclo, quindi tutto lo sforzo mentale è stato sprecato. Contrastando questo, le dichiarazioni continue tendono a scatenare un controllo mentale per assicurarsi che tutti i passaggi necessari siano stati completati prima dell'iterazione del ciclo successivo - che tutto sia valido come potrebbe essere qualsiasi cosa segua, e se qualcuno dice aggiunge un'ulteriore istruzione di incremento o debug nella parte inferiore del ciclo, allora devono sapere che ci sono continuare le dichiarazioni che possono anche voler gestire.
È anche possibile decidere quale utilizzare in base a quanto è banale il test, proprio come alcuni programmatori utilizzeranno le dichiarazioni di ritorno anticipato per condizioni di errore eccezionali, ma utilizzeranno una variabile "risultato" e una programmazione strutturata per i flussi previsti. Tutto può diventare complicato: la programmazione deve essere complessa almeno quanto i problemi: il tuo compito è renderlo minimamente più disordinato/più complesso di così.
Per essere produttivi, è importante ricordare "Non sudare le piccole cose", ma in IT può essere un dolore giusto imparare cos'è piccolo :-).
parte: si possono trovare utile fare un po 'di sfondo leggendo sui pro/contro di programmazione strutturata, che coinvolge i punti di entrata/uscita singoli, goto ecc ..
usando continua invece di commentare il codice non necessario è male! – Francesco
Ora conosci la ragione per cui è stato "elevato" a un manager. – sbi
L'unico semi-beneficio a cui posso pensare per lasciare un codice inutilizzato non raggiungibile, è se è solo temporaneamente inutilizzato e vuoi assicurarti che sia ancora compilato. Ad esempio, verifica che sia aggiornato per eventuali modifiche alle firme delle funzioni che chiama. Se hai commentato, non lo sarebbe. Ma è un vantaggio molto marginale: non stai testando il codice, quindi sei solo parzialmente sicuro che funzioni ancora. Dato che dovrai testarlo quando lo riattiverai, potresti anche aggiustarlo per compilarlo. E più a lungo lo lasci in questo modo, più facilmente si romperà in modo sottile. –