Ci sono state domande con risposte sul how a write RubyGems, ma ciò che si dovrebbe evitare a scrivere un rubygem? Cosa può causare problemi alle persone che usano il tuo rubino?trucchi per la scrittura rubygems
risposta
Gem Packaging: Best Practices dà un sacco di consigli, alcuni dei quali comprendono
non inquinare il percorso di carico globale. Idealmente, hanno solo
foo.rb
nella directorylib
, e mettere tutti gli altri file inlib/foo
.Non file
require
utilizzando__FILE__
.Non fare affidamento su nulla al di fuori del percorso di carico. Le cartelle potrebbero non avere la stessa struttura della versione originale. Ad esempio, non utilizzare qualcosa come
VERSION = :: File.read (:: File.join (:: File.dirname (FILE), "..", "..", "VERSION ")). strip
Non gestire
$LOAD_PATH
entrolib
.Fornire una costante
VERSION
.non dipendono RubyGems. La persona che utilizza il tuo codice potrebbe non utilizzare i rubygems, ma alcuni altri sistemi di packaging (o nessun sistema di packaging). Allo stesso modo, non menzionare le dipendenze della versione nel codice stesso o
rescue Gem::LoadError
.
Rubygems dependencies. Please... sostiene che non si dovrebbe elencare le dipendenze runtime opzionali, e dovrebbe separare gli sviluppatori da dipendenze runtime.
From my own experience: se non altro, prova a creare e installare localmente il tuo gioiello prima di rilasciarlo in natura. Evita rilasci di sacchetti di carta marrone.
- 1. Trucchi per la generazione di istruzioni SQL in Excel
- 2. Suggerimenti, trucchi e trucchi per framework di entità
- 3. Suggerimenti e trucchi per l'ottimizzazione
- 4. come aggiornare RubyGems
- 5. Rubygems su OSX mancante
- 6. richiede "rubygems" non funziona
- 7. aggiornamento RubyGems su Ubuntu
- 8. Impossibile aggiornare RubyGems
- 9. SQL Server - Suggerimenti e trucchi per sinonimi?
- 10. trucchi PerformSegueWithIdentifier per evitare il ritardo iniziale
- 11. ATTENZIONE: indice RubyGems 1.2+ non trovato per: \t RubyGems torneranno a indici legacy compromettere le prestazioni
- 12. I trucchi JSP per semplificare i templating?
- 13. Suggerimenti e trucchi professionali
- 14. Scala Parser Combinatori trucchi per bnf ricorsivo?
- 15. Perché è "sbagliato richiedere rubygems"?
- 16. Confusione Rubygems, Bundler e RVM
- 17. Volley: la scrittura IOException per ByteArrayOutputStream
- 18. Crea un file vuoto per la scrittura?
- 19. Trucchi e consigli di WCF
- 20. Non voglio "rake install" a pubblicare per Rubygems
- 21. WPF semplici consigli e trucchi?
- 22. Rubygems 2.0.14 non è bunder threadsafe installare un messaggio quando si utilizza - RubyGems VERSIONE: 2.4.5.1
- 23. C'è un modo per chiamare ruby1.9 senza caricare i rubygems?
- 24. Prevenire le gemme spinte su RubyGems
- 25. Come si esegue il downgrade dei rubygems?
- 26. La scrittura di dati System.in
- 27. Gemfile.lock errore di scrittura, permessi?
- 28. Come parallelizzare la lettura e la scrittura
- 29. Impossibile installare rubygems con ruby 2.0.0
- 30. Eventuali trucchi per accelerare l'implementazione di RAD 7.5/WebSphere 7
Decisamente una buona e corretta correzione, in particolare con il riferimento a "Gem Packaging: Best Practices" –
L'ultimo punto è molto importante. Potrebbe essere riformulato come: "Un trucco importante per scrivere Ruby Gems non è scrivere gemme, scrivere librerie". –
@ Jörg: molto Zen. (L'ultimo punto tratto da "Gem Packaging: Best Practices" cioè non "Dalla mia esperienza personale") –