Che cosa si intende per "stub del metodo generato automaticamente da TODO"? [chiuso]


9

Sto usando eclipse per la programmazione Android, e ogni tanto vedo la frase "TODO Metodo generato automaticamente stub".

Capisco che questi metodi sono stati generati automaticamente dall'eclissi durante la creazione di classi e altre attività trigger, ma non capisco la necessità di averlo menzionato ovunque.

Qual è la necessità di averlo menzionato ripetutamente ovunque?


1
puoi cambiare il modello in Eclipse se non ti piace
DPM

3
Questa domanda sembra essere fuori tema perché non dimostra una comprensione minima dell'IDE utilizzato.
Jim G.

Risposte:


9

TODO è una delle numerose parole chiave predefinite che indicano le attività da eseguire in Eclipse. Sotto windows-> Preferenze-> Java-> Compilatore-> Tag attività, dovresti vedere queste parole chiave. Si pensa di aggiungere un commento con questa parola chiave per indicare automaticamente le cose che devono ancora essere completate, il che è conveniente se si utilizzano questi tag attività.

Tuttavia, se non li usi, dovresti modificare i modelli di codice (Preferenze-> Java-> Stile codice-> Modelli di codice) per eliminare questi commenti.

In particolare:

  • Codice-> Metodo body
  • Codice-> Corpo del costruttore
  • Codice-> Corpo blocco cattura

5
È molto più di Eclipse che supporta i commenti TODO: NetBeans, Visual Studio, JetBrains e altri forniscono anche funzionalità di elenco attività che estrae dai commenti in stile TODO. Inoltre, questo non risponde alla domanda posta: cosa significa il commento in stile TODO e come è di valore.
Thomas Owens

2
Preferisco il comportamento di Visual Studio (ReSharpers?) Nel generare stub che, throw new NotImplementedException();poiché sono molto più difficili da ignorare per un oblivoot rispetto a un metodo vuoto che non riesce silenziosamente.
Dan Fiddling By Firelight,

1
@ThomasOwens Ha chiamato eclipse, non NetBeans, Visual Studio, JetBrains e altri. Inoltre, questo è esattamente ciò che significa TODO e come viene utilizzato.
Neil,

1
@DanNeely Mi piace anche questo, ecco perché i miei modelli di codice generati automaticamente in Eclipse si presentano così:throw new UnsupportedOperationException("Auto-generated method stub"); // TODO Auto-generated method stub
Simon Lehmann

16

Eclipse crea solo metodi vuoti che restituiscono null (quindi "stub"). I commenti vengono inseriti per ricordare allo sviluppatore che probabilmente vorrà fare qualcosa in questi metodi, altrimenti perché dovrebbero esistere? Dovresti eliminare i commenti quando lo hai fatto.

Se vedi quei commenti ovunque, allora (se contengono effettivamente implementazioni) gli sviluppatori sono pigri o credono che i commenti abbiano qualche altro scopo e quindi non li cancellano, o è un'indicazione di design debole, di solito le interfacce che sono troppo grandi e hanno implementazioni (e utenti) che in realtà non usano tutti i metodi nell'interfaccia.


7

Molti IDE, incluso Eclipse, utilizzano "TODO" in un commento per generare elenchi di attività. Questi elenchi di attività includono il testo del commento, il file e il metodo in cui si trova il commento. Ciò consente a chiunque utilizzi uno strumento con questa funzionalità di generare elenchi di cose ancora aperte. Esistono anche altri identificatori comuni, come FIXME o XXX, che hanno funzionalità simili in alcuni IDE. Questa domanda su Stack Overflow pone domande sulle parole chiave di commento in Eclipse e fornisce alcune informazioni aggiuntive.

Quando si generano automaticamente alcune funzioni, si prevede che si inserirà la propria implementazione. Aggiunge lo stub appropriato in modo che il codice venga compilato, ma aggiunge i commenti in modo da poter trovare rapidamente i metodi che devono essere implementati. Nota che alcune funzioni generate automaticamente, come quelle generate automaticamente toStringe hashcodenon contengono questi commenti perché non è previsto che tu li modifichi.

Esistono modi per disabilitare l'inserimento di questi modificando i modelli utilizzati per creare codice generato automaticamente, se ti disturba così tanto. Tuttavia, sono utili. La semplice ricerca nella base di codice di cose come TODO e FIXME può essere la base di un elenco di attività se sono abbinate a un commento decente su ciò che deve essere fatto, specialmente su progetti più piccoli.


4

TODO significa semplicemente "FARE", lo stub viene generato ma lo sviluppatore o il programmatore devono aggiungere il codice come richiesto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.