6章航路を航行する

分析法による困難な物事の調査は、常に合成法よりも先であるべきである。

――サー・アイザック・ニュートン

新たなメンバーが私の開発チームに参加しました。私達のプロジェクトは巨大ではありませんでしたが、比較的大きく、多くの異なる領域を含んでいました。開発できるようになる前に、彼が学ぶべきことが多くありました。彼は、どのようにしてコードまでの航路を描くことができたでしょうか。スタートラインから、どのようにして速やかに生産的になることができたでしょうか。

これはよくある状況であり、時折、私達全員が直面する状況です。このような状況に直面することがないのであれば、あなたはさらに多くのコードを見る必要がありますし、もっと頻繁に新たなプロジェクトへ移る必要があります。(一つのチームと一緒に一つのコードベースで永久に働くことによるマンネリ化を避けるのが重要です。)

大きな既存のコードベースは入っていくのが困難です。あなたは、速やかに次のことをしなければなりません。

  • コードをどこから見始めるかを知る
  • コードの各部分が何を行っているかと、どのように達成しているかを知る
  • コードの品質を評価する
  • システムの周囲を調べる方法を知る
  • あなたの変更がうまく合うように、コーディングのイデオムを理解する
  • 各機能が実装されていそうな場所(および、それによって引き起こされるバグ)を知る
  • コードとそれに従属する重要な部分(たとえば、テストやドキュメンテーション)の関係を理解する

最初の変更が恥ずかしいものになったり、既存の機能を偶然に複製していたり、どこか他の場所の何かが機能しなくなるのを避けたいので、あなたはこれらを素早く学ぶ必要があります。

私の友人からの小さな助け

私の新たな同僚は、この学習プロセスにおいて素晴らしく、幸先のよいスタートを切りました。コードをすでに知っていて、コードに関する数え切れない小さな質問に答えられ、既存の機能がどこにあるかを指摘できる人達がいるオフィスに、彼は加わりました。この種の助け ...

Get ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.