2015-01-15 7 views
8

Ho letto PEP 8 per sapere se (un immaginario) la creazione di un oggetto con un nome come __foo__ è una buona idea oppure no. PEP 8 dice questo su __double_leading_and_trailing_underscore__:"Non inventare mai questi nomi, usali solo come documentati". Chi?

Mai inventare tali nomi; usarli solo come documentato.

La mia domanda è: chi?

Sono un programmatore. Scrivo un'API per altri programmatori. Python è stato implementato dai programmatori. Il riferimento linguistico per l'implementazione è stato scritto da programmatori o almeno da ex programmatori e i programmatori che utilizzano la mia API scriveranno qualcosa che potrebbe essere o non essere utilizzato da altri programmatori.

Ora questo è spiegato, quale programmatore parla di PEP 8 quando dicono "Mai inventare nomi simili"?

Qualcuno è ovviamente incoraggiato a inventare tali nomi, dal momento che esistono, mentre altri non sono invitati a farlo.

Quale gruppo di programmatori dovrebbe "Non inventare mai tali nomi"?

risposta

11

si sono scoraggiati di utilizzare tali nomi nelle API, sì, perché se e quando i sviluppatori principali Python scegliere lo stesso nome per lo stesso Python, perderai, il tuo API può rompere.

Quindi, se non si è uno sviluppatore principale Python o si scrive un PEP che potrebbe essere un giorno diventato parte della libreria standard Python o della definizione del linguaggio principale, cercare di evitare l'uso dei nomi Dunder nella propria API.

Problemi correlati