読者です 読者をやめる 読者になる 読者になる

データ・サイエンティストは可視化の夢を見るか?

Does Data Scientist Dream of Visualization?

ゼロ・ベースでの作りなおしを

今晩和。
お察しの方はお察しでしょうが、某ラボでとあるシステムのプログラミングを担当しております。
いわば物理数学を使った『音の顕微鏡』になります。


このシステムは本業がヒマだった時期に大体2,3ヶ月、しゃかりきになってコーディングしました。
それも 2 年くらい前のことです。
それなりの結果は出せているんですが、どこまで厳密に計算できているか、誤差はどの程度か、といったことを検証するには、ちょっとコードが煩雑すぎるきらいがあります。

個人的に、このシステムを抜本的に書き直してしまいたいと感じてます。
ゼロ・ベースで再構築したい、と。
その際に、さらに粒度の小さい関数群に切り分け単体テストがしやすいように書き換えてしまいたいのです。
つまり Test Driven Development (テスト駆動開発)に移行して、回帰テストがやりやすいようにしたいんですね。
そうじゃないと、たとえば純音(正弦波)を入力したときの計算結果が正しいかどうかなどの検証が難しい、と判断しているのです。
あらたに高名な先生がプロジェクトに参加なさったのですが、彼のレヴェルの業績に報いるためにはしっかりと基盤から作り直すべきだと。


そこには現状のプロジェクトに対する危惧もあります。
ラボでプログラミングを担当できるメンバーはもう一人居るのですが、指導教授をふくめ彼らとソースコードを共有しているのに、システム自体に対するノウ・ハウが全然周知できていない感が強いのです。わたしはきわめて「なんちゃってプログラマー」ですが、それなりのキャリアもあるので、それなりに分かりやすいコードは書いている自覚はあります。でも、そのコードを共有するだけでは巧く行ってない。だから、もう一度ゼロ・ベースでシステムを再構築する過程で、いろいろなノウ・ハウを周知・共有できたら、と思っているのです。技術移管するのに、わざとプロジェクトをゼロからやり直すのが有効だと思ってる訳ですね。私自身もいろいろと不具合を修正しつつ、知識を整理できるし。


はてさて、巧く行きますことやら?
明日は、週に一度のラボの日です。
ほかにもいろいろ立て込んでいるのに準備しなくては。
まあ、メンバーで一番ヒマなのは私ですが。(汗)


f:id:renpoo:20160803210627p:plain