web-dev-qa-db-ja.com

コードを継承する開発者。古い開発者に新しい開発者をより良く支援するために何を頼むべきですか?

私たちは以前のiOS開発者を中退させており、彼が中断したところから再開する新しい開発者またはチームを探しています。

コードを継承する開発者に問題がある可能性があることを認識しています。

新しい開発者がコードがどの段階にあるか、何に取り組む必要があるかなどを理解するのを助けるために古い開発者に尋ねることができるいくつかの質問は何ですか?一般的なタイプの質問だけですか?そのため、潜在的な新しい開発者と会ったときに、コードがどこにあるかについての「ファクトシート」を古い開発者に渡すことができます。

12
Scott Townsend

質問/文書化するいくつかのこと(あなたが探しているものかもしれないし、そうでないかもしれません):

  • どのサードパーティのライブラリ/ツール/その他が使用されていますか?
  • どのように構築しますか?ビルドに必要な特別なものはありますか?
  • ビルドの有効なターゲットは何ですか(OS、バージョンなど)? (ワールドエンジニアのコメントより)
  • ソースはどこにありますか?変更はどのように管理されますか(リリース、ブランチなど)?
  • アプリケーションアーキテクチャの概要
  • 落とし穴(わかりにくい場所など)
  • 何か通常の方法で実装されている理由がすぐにわからない、異常なもの
  • すべての欠陥はどこかに文書化されていますか?修正するためのヒントに関するドキュメントはありますか?コードに慣れ始めるために修正するのに適した欠陥はどれですか?
  • すべての機能リクエストはどこかに文書化されていますか?拡張機能の設計ドキュメントはありますか?
  • 技術仕様はありますか?
  • 速度を上げるために必要な資料(サードパーティのドキュメントなど)
  • アプリケーションのレビューまたは更新が必要な領域(技術的負債を修正)はありますか?
  • 使用されているすべての規則と標準は文書化され、よく知られていますか?

あなたはもっと手に入ると確信していますが、これらのいくつかが役立つことを願っています。

22
Michael Dean

Michael Deanはすでに かなり包括的な答え を提供していますが、新しい開発者が開始したときに古い開発者が引き継ぐつもりはないので、もう1つアドバイスを追加します。 :

  • 既存の開発者に座り、コードを最初からコンパイルし、手順を自分で文書化します。

これを行うためにコードを理解する必要はありません。開発環境をセットアップし、ソースコードをチェックアウトし、それをコンパイルしてテストスイートを実行するだけです。

開発者がコンピューターの前に座らないようにしてください。すべての手順を自分で行い、すべての詳細を文書化してください。特にですが、おそらく再度行う必要はありません手順。

これはすべて機械式ダミーガイド(つまり、Xをダウンロードしてインストールし、次にY&Zをインストールしてから確認する) WメニューのVオプションなど)を使用してコードを出力しますが、古い開発者のビルド環境がどのように設定されているかを理解しようとすることで、新しい開発者の手間を省くことができます。


開発者と一緒に座ることができない場合、開発者にビルドプロセスの スクリーンキャスト を実行させる Kim Burgess の提案は優れたものです。

理想的には、開発に使用されたことのないマシンを開発者に提供し、 スクリーンキャストソフトウェア をインストールして、完全なソフトウェアを構築するためのすべての手順を実行するようにしてください。

実際、あなたが開発者と一緒に座っていても、彼があなたに見せている間、バックグラウンドでスクリーンキャストソフトウェアを実行する価値があるかもしれません。そうすることで、何をしたか、何が起こったかの永続的な記録が得られます。

6
Mark Booth

私が同じ状況にあったとき、アプリケーションを学ぶための鍵として、アプリケーションのどの部分に本当に焦点を当てるべきかを教えられることは、最も有益でした。他の誰かのコードを読むことの多くは関係なく行われるでしょうが、そのために「目次」を与えられるかもしれません。

5
JD at Elon

「これを引き継いでいた場合、それについて何を知りたいですか?」
「最も重要なのはどれですか?」

1つ目は、ドキュメント化されていない複雑なアプリケーションの部分について考えさせるでしょう。
2番目は、すべての重要な部分の詳細について考えさせます。

2
StuperUser

コードを書くより読むのが難しい ...だから、できる限り新しい開発者を助けようとするのは良いことです。

まず、私がすべき2つのことは次のとおりです。

-古い開発者に、クラスまたはメソッド間の相互作用を書き出して図表を作成するよう依頼してください。これは、新しいプログラマーがプログラムのメインアーキテクチャについて良いアイデアを得て、学習プロセスをスピードアップするのに役立ちます。これらのタイプの図は、多くの場合、新しい開発者がざっと読み飛ばして書かれたドキュメントのページよりも役立ち、あまり役に立ちません。

-ソースファイルがどのように構成されているかについて、古い開発者に尋ねます。場合によっては、ファイルの名前や、含まれているディレクトリの名前では、内部に何があるかわかりません。

上記の2つのヒントは多くの時間を節約し、新しい開発者がより詳細な複雑さを探求するための良い基盤を提供します...

1
rrazd

バックアップを復元することにより、定期的に製品からデータ更新を行う場合、彼が去ったときと新しい人がどこにいるかをすぐに理解できるようになるまでの間に起こる可能性がある場合、データベースへの変更を確認することをお勧めしますそれらはまだprodに移行していないために上書きされる可能性があるdevのソース管理と、devデータベースを変更された状態に戻すために簡単に実行できるスクリプト内にあります。別の変更セットに含まれる可能性のあるQaと同じです。

0
HLGEM