Question

Je suis nouveau à R et ayant du mal compilant des renseignements provenant de diverses sources en ligne liées à ce qui est considéré comme une « bonne » pratique avec l'écriture de code R. J'ai lu des guides de base mais j'ai eu du mal à trouver des informations qui sont certainement à jour.

  1. Quels sont quelques exemples de bien des classes écrites / documentées S3?
  2. Que diriez-vous des classes correspondant S4?
  3. Quelles conventions utilisez-vous lorsque commentent les classes .R / fonctions? Ne vous mettez tous vos commentaires dans les deux fichiers .rd et fichiers .R? Est la synchronisation de ces fichiers fastidieux?
Était-ce utile?

La solution

Que ce soit pour utiliser S3, S4, ou un paquet tout est surtout une question de style (comme Dirk dit), mais je suggère d'utiliser un de ceux si vous voulez avoir un objet très bien structuré (comme vous le feriez dans toute langue POO). Par exemple, toutes les classes de séries chronologiques ont des objets de séries chronologiques (je crois qu'ils sont tous S3 à l'exception de son ) car elle leur permet de faire respecter certains comportements autour de la construction et l'utilisation de ces objets . De même la question sur la création d'un paquet: il est une bonne idée de le faire si vous allez réutilisant votre code fréquemment ou si le code sera utile à quelqu'un d'autre. Il a besoin d'un peu plus d'effort, mais la structure organisationnelle ajoutée peut facilement compenser le coût.

En ce qui concerne S3 vs S4 (discuté sur R-Help et ) , la ligne directrice de base est que les classes S3 sont plus "rapide et sale" tandis que les classes S4 placent plus un contrôle strict sur les objets et les types . Si vous travaillez sur Bioconductor, vous utiliserez généralement S4 (voir, par exemple, "classes S4 et méthodes" ).

Je recommande la lecture de certains des éléments suivants:

  1. "A (pas) Brève introduction à S4" par Christophe Genolini
  2. "créneau de programmation: Une classe simple, dans S3 et S4" par Thomas Lumley
  3. "Brobdingnag: un paquet '' bonjour '' en utilisant des méthodes S4 "par Robin KS Hankin
  4. "Conversion de paquets à S4" par Douglas Bates
  5. "Comment les méthodes S4 travail" par John Chambers

Pour la documentation, la suggestion de Hadley est sur place: Roxygen va rendre la vie plus facile et met la documentation juste à côté du code. Cela mis à part, vous pouvez toujours vouloir fournir d'autres commentaires dans votre code au-delà ce Roxygen ou les fichiers man ont besoin, dans ce cas, il est une bonne pratique de commenter votre code pour d'autres développeurs. Ces commentaires ne seront pas se retrouver dans votre forfait; ils ne seront visibles que dans le code source.

Autres conseils

3. Utilisez roxygen -. Il fonctionne comme javadoc pour prendre des commentaires dans vos fichiers source et créer des fichiers Rd

C'est une demi-douzaine d'autres questions regroupées en une, ce qui rend difficile de répondre.

Donc, nous allons essayer de l'intérieur: Tout d'abord essayer de résoudre votre problème wrapper rodbc. Une représentation de code lui-même suggère. Je commencerais avec des fonctions simples, puis construire peut-être un paquet autour d'elle. Cela vous donne déjà une certaine encapsulation.

Une grande partie du reste est de style. Certains codes importants de R ne jurent que par S4, tandis que d'autres ne jurent à ce sujet. Vous pouvez toujours lire les paquets des autres, ainsi que le code dans R lui-même. Et vous pouvez toujours ré-implémenter votre emballage rodbc de différentes manières et comparer vos propres approches.

Edit: Reflétant vous et mis à jour question beaucoup raccourci: Choisissez des paquets de Cran, en particulier parmi ceux que vous utilisez. Je pense que vous allez rapidement trouver plus ou moins intéressante selon votre style.

style un peu plus liés que la substance, mais le Google R guide de style mérite d'être lu:

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top