岡崎(東北大学)、吉永(東京大学)、工藤(グーグル)- 岡崎先生の意見:
- 言語処理100本ノック
- 大きなプロジェク卜は小さな(基本な)動作から構成される。
- ソフト開発とかなり違う。(決まっている対象vsアイディア検証)
- コードレビューが大事。
- 誰もコーディングのクセがある。他の人のレビューのおかげでクセを治せる。
- 賢いコード、方法を学べる。
- 研究成果を可視化する
- 最適化は完成してから
- コメント:反省された。最適なアルゴリズムを考えて、実装したらいいけど、考えすぎと研究があまり進まない。
- 道具、ツールを使え:
- コメント:反省された。自分で実装できたらいいけど、全部実装したら時間がもったいない。
- コードを少しずつ書く
- ディレクトリとファイル名を定形せよ。
- GITなどのパージョン管理を積極に使え。
- Make it work, make it right, make it fast.
- 吉永先生の意見:
- コードをできるだけ公開せよ。
- 第三者は保証できる。
- バグを見つけてくれる。
- 再発見を逃げる
- 実験コードとソフトウエアコードの違い:
- わかりやすいvs汎用性がある
- 研究者対象vs一般ユーザ
- まず実験コードとして公開し、ソフトウェア化する
- 実験コードの公開
- コメント:
- ソフトウェア化することがかなり大変なので、実験コードと説明ファイルを公開したらいいだろう。もちろん、可読性がすごく大事。
- 工藤さんと意見:
- テストが大事。
- 依存関係のデバッグ:スタブとモック
- googletest, unit test, googlemock
- コメント:
- デバッグのルールという本がある。
- デバッグは一番ストレスだ。上手くできたら、スピードアップできる。
- コメントを積極に使え。
|
|