Perché il “: nodoc:” sintassi necessaria?
Domanda
Sembra un sacco di librerie / plugins utilizzano questa sintassi:
def self.included(base) # :nodoc:
base.extend ClassMethods
end
Perché è la parte :nodoc:
necessaria?
Soluzione
Non è necessario. Se applicato a una classe, solo sopprime la documentazione (rdoc) per tutti i metodi della classe estensione. Descritto in programmazione Ruby come:
: nodoc: - Non includere questo elemento nel la documentazione. Per le classi e moduli, i metodi, alias, costanti e attributi direttamente all'interno della classe o modulo interessato anche essere omesso dal documentazione. Per impostazione predefinita, però, moduli e classi all'interno quella classe o il modulo sarà documentata.
Altri suggerimenti
Non credo che sia necessario. In realtà, a mio parere, è una delle caratteristiche più inutili di RDoc.
Tante volte ho visto durante la lettura di un codice libarie e ho dovuto chiedere a me stesso: "Perché?". Non vedo alcuna ragione per utilizzare questa funzione. Se non si vuole che la gente di utilizzare il metodo, basta renderlo privato. E 'un grande fastidio durante la lettura di documentazione e di vedere una chiamata di metodo per un metodo che è rimasto fuori dalla documentazione.