大きなプロダクトを作っているチームに配属された間もない時期に、どうやったら早くコードを読み書きできるようになるか?

  • 前提: 配属の前は一人でスクラッチから書くことがほとんど。チームでコードを書くという経験はあまりない

はてなのシステムはコードが大変大きくなっているため、チーム配属後、コードの読み書きをいかに正確に早くできるかが自分の直近の課題だと思っています。「こういう風にすればうまくいきそう」というのを試行錯誤していることをまとめてみました。もっといいやり方があれば、是非コメントで教えて欲しいです。主にサーバーエンドでPerlが対象です。

  • PerlのWebシステムによくあるディレクトリ構成を知る
    • 今やるタスクはMVCでいうところのどこを修正すべきタスクなのか、どのディレクトリがどの役割を担っているのか
  • プロジェクトのルートディレクトリからlsでてきとーに探してlessでてきとーに見る、というのでは(当然)当たりは付かない
    • git grepなどを使い、効率よく探す
  • テストコードを動かす
    • Perlのコードは型がないので「こうだろうか...」と疑心暗鬼に使い方を調べることが多かった
    • テストコードは実際に動いて動作がある程度保証されているものなので、動かしてみたり修正することで使い方が早く分かる
  • 似たような関数やクラスがあり、どれを使えばいいか分からない
    • 10年単位でメンテナンスされているプロダクトなので、仕方ない部分も大きい...
    • git logで調べれば、どちらが最近メンテされているかが分かるため、判断材料が増える
  • システムの構成を知る
  • 人に聞く
    • 上記のことを考えても結局分からなかったり、判断が付けられない問題ももちろんある
    • そういうときは周りのエンジニアに遠慮なく聞いたほうがトータルのコストは下がる(はず)

エンジニアとしてまだまだ感しかないので、精進していきたい...。

新装版 達人プログラマー 職人から名匠への道

新装版 達人プログラマー 職人から名匠への道