Ambalajlama için kişisel tetikleyicilerim:
- Başka bir veri analizi projesi için bir kez yazdığım bazı kodları kullanıyorum.
- Sanırım tekrar yazdığım yönteme ihtiyacım olacak.
Bir meslektaşım benden kod istedi. Yazdığım kodun önemli bir kısmı, en azından meslektaşlarının isteği üzerine (R kullanan ancak kendileri kadar programlamayan), kendim için olduğu kadar.
Bir paketi (belgeler) resmi olarak “temizlemeye ve kodumu belgelemeye zorlamak” için kullanıyorum.
@JohnRos ile bir paket yazmak ile paketi yayınlamak arasında oldukça fark olduğu konusunda hemfikirim.
Genelde erken paketlerim, ancak paketi sadece "yarı cumhuriyet" yapar. Yani, dahili bir sunucuda (ya da rge forge'da) bulunabilir, böylece meslektaşlarım pakete erişebilir. Ancak, CRAN'a yalnızca paket aylarca, hatta birkaç yıl yakın arkadaşlarım tarafından kullanıldıktan sonra yayınlarım. Bu, @Nick Cox'un # 3 no'lu noktasına göre bütün böcekleri ortaya çıkarmaz, ancak adil bir miktardır.
Paketin sürümleri (sürüm numarasında çizgi sonrasındaki tarihi koydum) işleri düzeltmeyi kolaylaştırıyor ("bunu yapmak için, en azından geçen haftaki sürümleri doldurduğunuzdan emin olun")
İş sözleşmeme göre, işverenim bir paketin dış dünyaya nasıl yayınlanıp yayınlanamayacağına dair son sözü verdi.
Ambalajlama için henüz iyi bir stratejime sahip olmadığım şey veri.
Nedenler listenize yorumlarınız:
- aynı alt alanda başka paketlerin bulunmaması;
İhtiyacım olanı yapan bir paket bulamıyorum , kod yazmayı tetikliyor , ancak paketleyip paketlememeye karar vermek zorunda değil.
- diğer araştırmacılarla değiş tokuş yapma ve deneylerin tekrarlanabilirliğini sağlama ihtiyacı;
Kesinlikle. Muhtemelen zaten kullandığım birkaç bilgisayar arasında paylaşmaya ihtiyacım var.
Ve aksi karara yol açabilecek hususlar arasında:
- zaten kullanılan bazı paketlerde bulunan yöntemlerin bir kısmı;
Bu yöntemleri paketinize / kodunuza aktarabilirsiniz: bu kod yazmaya karşı bir noktadır , ancak yalnızca dolaylı olarak paketlemeyle ilgisi vardır.
- yeni bir bağımsız paket oluşturmak için gerekçelendirmek için yeterli olmayan yeni fonksiyon sayısı.
Benim için bir paketi başlatmak için asgari sayıda işlev yoktur. Tecrübelerime göre, paketler "otomatik olarak" büyüme eğilimindedir. Aksine, kendimi birkaç kez başka bir paketten ayırırken bulduktan sonra (örneğin sonuçtaki bazı yardımcı işlevlerin tematik olarak farklı ve diğer durumlarda da yararlı olduğu ortaya çıktı) hemen yeni paketler oluşturarak.
Ayrıca, dokümantasyon ve testler yazmadıysanız, bu bir paket oluşturmak için "yeterli" sayıda işlev biriktiğinde, yasaklayıcı bir iş olabilir.
(Onları hemen yazarsanız, iş akışını öğrendikten sonra onu bir pakete koyma çabası önemsizdir).