7年間のオープンソースDB開発で学んだこと
(philipotoole.com)- SQLiteベースの軽量な分散データベース rqlite 開発者の回顧
→ 最初は、面白半分でRAFTを使ってSQLiteを分散レプリケーションしようとした試みから始まった
-
できるだけ小さく、機能を1つずつ開発すること
-
明確な中間成果物なしに大規模なコード書き換えは避けること
-
創造性は不規則で予測できない
-
コード品質を高めたのは広範なテストカバレッジ
→ 実際のコードにできるだけ近い形でテストケースを書くこと
→ スモークテストに対する統合テストを必ず維持すること
→ ユニットテストが核心。ユニットテストのレベルで優れたカバレッジがなければ、ソフトウェアは決して高品質にはなりえない
-
Go は7年間十分に生産的で、今でも楽しんでいる。
-
広報は難しい。GitHubで8000のStarを得るのに7年かかった。
-
プログラミングは癒やし(therapeutic)
→ 私の仕事はプログラマーを管理すること(Googleのエンジニアリングマネージャー)で、興味深いが自分でコーディングするのとは違う
→ チーム活動としてのプログラミングには、コーディングスタイル、バグ解決方針、コードレビュー、機能の優先順位決定などの活動が必要。チーム単位のソフトウェア構築には多くの非コーディング活動が必要。
→ 自分のプロジェクトでは自由だ。コーディングスタイルは自分で決め、機能も自分で決める。どのバグを直すかも自分で決め、ミーティングに行く必要もない。
- 7年間開発してきたが、まだやることは多い
→ "it's done" には決して到達しないだろうと思う
→ 古参兵たちが言ったように、"ただ消えゆくだけ" ( "Old soldiers never die, they simply fade away" より )
1件のコメント
rqlite - SQLiteベースの軽量な分散データベース https://ja.news.hada.io/topic?id=3636