2009-11-16 5 views
9

私は、中規模のRコードの対象となるアナリストや統計者の小さなチームと一緒に作業しています。彼らは賢明な人ですが、プログラマーとしては訓練されておらず、経験もありません。 (私はそうです)彼らはいくつかのRコードを書いてきましたが、私たちのプロジェクトが拡張性、効率性、保守性に優れているためには、構造が整っていなければなりません。より良いプログラマーになるために学ぶより良い方法の1つは、エレガントな既存のコードを研究することです。誰でもCRコードのオープンソースの例をいくつか提案することができます(CRANやどこにいても)、特に明確で、識字され、良い例があると思いますか?機能は良いです、S3オブジェクトはOKです、深い魔法は悪いです。教育目的のために、本当にきれいでクリアな[R]コードの良い例は何ですか?

答えて

6

(彼らは導入のためには大きすぎるかもしれないが)私の2つの好きなパッケージは、両方のR-フォージで閲覧することができ、非常によく文書化されている:

私はあなたが彼のパッケージを見ている場合Hadley has his own style guide読み取ることができるもののGoogle style guideは、コアチームのスタイルをキャプチャするの偉大な仕事をしていると思います。

このarticle on the R-Wiki is also a good readコードを最適化する方法を見るため:あなたは、特にGithubの(and his homepage is full of useful content)、上のbrowse Hadley's packagesができます。

+0

まあ、私はキャレットとゼリグを見ましたが、大部分はよくコメントされていません。キャレットの開発者の一人はコメントが好きだと思われますが、それはそれです。私はggplot2のうねりにはかなり精通していますが、使用するのに最適なパッケージですが、コードはほとんどエレガントで比較的よくコメントされていますが、それはあいまいなプロトオブジェクトと動的な関数の作成を多く使用していますそれはまったく学ぶ。最適なコーディングから除外された最適化は、別の問題です。ハドリーの他のパッケージを見てみましょう... – Harlan

+2

私のパッケージのうち、より最近の方が良いです。 'plyr'と(最近の)' stringr'をお勧めします。私の意見では、彼らは主によく書かれ、エレガントです。良いコードを書く方法を他人に教え始めた後、私のコードの品質は本当に向上しました! – hadley

2

厳密には関係ありませんが、できるだけ早くソースコントロール(perforce、subversion、git、rcsなど)の使用に慣れさせてください。それは学習の痛みを軽減します。

+0

うん、良い助言。彼らは私がチームに加わる前にgitを知り、gitを使っていました... – Harlan

関連する問題