Ich arbeite mit einem kleinen Team von Analysten und Statistikern daran, was ein mittelgroßer R-Code sein wird. Sie sind schlaue Leute, aber sie sind nicht als Programmierer an sich ausgebildet oder erfahren. (Ich bin es.) Sie haben etwas R-Code geschrieben, aber damit unser Projekt erweiterbar, effizient und wartbar ist, muss es gut strukturiert und eher piratisch werden. Einer der besseren Wege zu lernen, ein besserer Programmierer zu sein, ist das Studium elegant vorhandenen Codes. Kann jemand einige Open-Source-Beispiele für R-Code vorschlagen (auf CRAN oder wo auch immer), von denen Sie denken, dass sie besonders klar, lehrreich und gute Beispiele sind? Funktionell ist gut, S3-Objekte sind OK, tiefe Magie ist schlecht.Was ist ein gutes Beispiel für wirklich sauberen und klaren [R] Code, für pädagogische Zwecke?
Antwort
Meine zwei Lieblingspakete können sowohl auf R-Forge durchsucht werden und sehr gut dokumentiert sind (obwohl sie für eine Einführung zu groß sein kann):
Ich denke, dass die Google style guide hat eine große Aufgabe, den Stil des Kernteam aufnehmen, obwohl Hadley has his own style guide die gelesen werden können, wenn man sich seine Pakete suchen. Sie können auf Github (and his homepage is full of useful content), insbesondere browse Hadley's packages:
Diese article on the R-Wiki is also a good read nach Möglichkeiten zu sehen, Code zu optimieren.
Nicht streng verwandt, aber stellen Sie sicher, dass Sie sie so schnell wie möglich an die Verwendung von Quellcodeverwaltung (export, subversion, git, rcs usw.) gewöhnt sind. Das reduziert die Lernschmerzen.
Ja, guter Rat. Sie wussten Bescheid und nutzten Git, bevor ich dem Team beitrat ... – Harlan
- 1. Was ist ein gutes Beispiel für eine Java Swing-Anwendung?
- 2. Was ist ein gutes Beispiel solrconfig.xml für Django-Heuhaufen?
- 3. gutes Beispiel für Javadoc
- 4. ein gutes Beispiel für Ameise Best Practices
- 5. gutes Beispiel für Entwicklungsarchitektur
- 6. Ein gutes Beispiel für boost :: algorithm :: join
- 7. Was ist ein gutes Beispiel für die Verwendung von Registervariablen in C?
- 8. Ist das wirklich ein Beispiel für das Adaptermuster?
- 9. Was ist ein gutes Beispiel für ein Open-Source-Java-Spiel?
- 10. Was ist ein gutes Beispiel XML schreiben VB.net mit 2008
- 11. Gibt es ein gutes Beispiel für ein gut benutzbares Benutzerhandbuch?
- 12. Ein gutes Beispiel für ein Client-Server-Setup in vb.net?
- 13. Was ist ein gutes Design für ein mittleres Dreifachrelationsmodell?
- 14. Was ist ein echtes Beispiel für CORBA?
- 15. Was ist ein praktisches Beispiel für Pooling?
- 16. Gutes Beispiel für die Verwendung von AppDomain
- 17. Gutes Beispiel für Rails-Tests mit Assertions
- 18. Was ist ein gutes Layout für eine Standardfehlerprotokolldatei?
- 19. Gutes Beispiel für geschriebene Rails Codierungsstandards?
- 20. Was ist ein gutes Datenmodell für die Kreuztabellierung?
- 21. Gutes Beispiel für reaktive Erweiterungen Verwendung
- 22. PHP und sauberen Code schreiben
- 23. Was ist ein gutes phonetisches Alphabet für eine Passwortanwendung?
- 24. Was ist ein gutes Tool zum Kommentieren von Code?
- 25. Was ist ein gutes Beispiel für das Speichern von Spieldaten in XNA 4.0?
- 26. Ist ein Doppel wirklich ungeeignet für Geld?
- 27. Was ist ein gutes Beispiel für eine Flucht Schließung in Swift?
- 28. Was ist ein qualitativ hochwertiges Beispiel für TDD in Aktion?
- 29. Gutes Beispiel für xsl Übergang in Excel
- 30. Was ist ein gutes 2D-Grafikframework für eine Zeichenanwendung?
Nun, ich schaute Caret und Zelig, und in den meisten Fällen sind sie überhaupt nicht gut kommentiert. Es sieht so aus, als ob ein Entwickler in Caret Kommentare mag, aber das ist es auch schon. Ich bin ziemlich vertraut mit den Eingeweiden von ggplot2, und obwohl es ein großartiges Paket zu verwenden ist, und der Code ist meist elegant und relativ gut kommentiert, verwendet es obskure Proto-Objekte und dynamische Erstellung von Funktionen eine Menge, so dass ich nicht berücksichtigen kann Es lehrte überhaupt. Die Optimierung über das hinaus, was aus der guten Codierung herausfällt, ist ein separates Problem. Schau dir Hadleys andere Pakete an ... – Harlan
Von meinen Paketen - je aktueller, desto besser. Ich würde empfehlen 'plyr' und (sehr neu)' stringr'. Meiner Meinung nach sind sie größtenteils gut geschrieben und elegant. Die Qualität meines Codes hat sich wirklich verbessert, nachdem ich angefangen habe, anderen beizubringen, wie man guten Code schreibt! – hadley