プログラミング力向上させる
プログラミング能力を向上させたい。
自分に不足している事を考えてみる。
[機能の仕様決め]
習熟度△
理想の仕様なら決められるが、実際は実装との兼ね合いの部分があるので、実装の想像がある程度できないとすんなりと決められない。
[実装の仕様決め]
習熟度☓
とりあえず動くものは出来るが、ベストな仕様とは程遠い。
レビューにてボコボコにされる。
[コーディング]
習熟度△
実装仕様が固まっていればそれ通りには作れる。
標準ライブラリ関数の存在を知らない場合などがあり、ややこしい書き方をしてしまう時がある。
[テスト]
習熟度☓
テストコードは書いていない。
自分でパターンを洗い出して想定通りに動いていることを確認する。
コード修正が入るたびに繰り返すので時間も掛かっている。
[仕様書作成]
習熟度△
UMLの記法はなんとなく知っている。
仕様書を見たことがなく、フォーマットも知らない。
仕様書を書く業務はないが、身内に仕様を説明シーンがあり、説明のたびに文章で書くようにしている。
足りないものは今やっている事で鍛えられていくか、鍛えられていない場合にはどういう対策をとるのか考える。
[機能の仕様決め]
業務で教わることがケースバイケース過ぎて未だに指針をつかめておらず、迷うばかりで向上していない。
一度、ベストではなくても「この方針で考えるべき」というベースをつかむ必要があると思う。
それを知るためには、他人の書いた仕様をたくさん見るのがよいと思う。
それを知るためには、他人の書いた仕様をたくさん見るのがよいと思う。
[実装の仕様決め]
同上。
[コーディング]
自分から生み出されるコードはたかが知れており向上していない。人のコードを読んで幅を広げる必要がある。
自分から生み出されるコードはたかが知れており向上していない。人のコードを読んで幅を広げる必要がある。
[テスト]
手が回らないので、仕様決め・コーディングのスキルが安定するまで置いておく。
業務ではしっかりしたテストを学べない為、上記スキルが安定してきた時に自分で何かを作成し、そのなかてテストフローを導入してみる。
業務ではしっかりしたテストを学べない為、上記スキルが安定してきた時に自分で何かを作成し、そのなかてテストフローを導入してみる。
人の作ったものを見て学ぶ
今まで何度かコードリーディングを行ったことがあったが、時間ばかり使って何も身につかなかったように思う。だから、コードリーディングを避けてきた。
何も身につかなかったのは、コードリーディングを行うことで得たいものを明確にしていなかったからだと思えてきた。
今回は明確な2つの目的がある。
・コーディングテクニック
・コードの構成
とくに「コーディングテクニック」についてはコードを見ているだけでは気づかなかったりするので、写経を行って拾っていこうと思う。