単一のコードベース読書会のときは、以前に手掛けたAndroidのカメラアプリが頭の中にあって、機種依存で苦労したことを考えていたのですが、今思えば他の仕事(ウェブサイト)でも派生させてそのままになっているコードも存在していて、このあたり一つに集約する努力が足りていないなぁとあらためて反省。今、この記事を書きながら考えているのですが、共通部分を派生させて使いまわすのではなくて、共通部分を完全に分離して、汎用的に使えるように作り込めば良いはず。今、すでに複数のプラグインでメンテナンスが必要になっている部分を切り出して汎用化する方向で検討してみます。新規案件だと、過去の習慣もあってひとかたまりで見積もってしまいがち。部分的にリリースして、その状況で次のステップに進めるように、契約を分けておくと良さそうです。一つ一つの機能の価値を確認しながら進めていく感じですかね。中心に練習しているのですが、問題によっては解いているうちにプロパティやメソッド、変数の状態など強制的に使わされる感じのものがあったり、あるいは問題を解くと、他の人のコード例も見えるので、そこで自分のコードの拙さに愕然としたりという状況ですが、まぁとにかくとても良いトレーニングになっています。日常の仕事の中だとスキルアップに時間を費やすのはなかなか難しいかもしれません。適切なコードを書けるかどうかで効率とか品質は全然違ってくると思います。そのためには日常のトレーニングが重要。難しい問題だと、続かないかもしれないので、比較的簡単な問題を様々な言語で引き続き進めてみようと思います。