56

商用ウェブサイトの開発を引き継いでいます。このサイトは、別のプログラマーによって 2 年以上にわたって開発されました。ほとんどが一人の仕事です (サイトの維持と拡張)。他のプログラマーがシステムを見せてくれるまで、2、3 日の移行期間があります。しかし、私が知る限り、ドキュメントはほとんどありません。すべてがコードに含まれています (これは一種の文書化されています)。今のところ質問しようと思っていることは以下のとおりです。

  • システムの最も複雑な要素に関する説明
  • 全体的なアーキテクチャの説明
  • サポート ツールの説明 (IDE セットアップ、単体テスト、展開メカニズム)
  • システムのアーキテクチャに影響を与えるために彼が使用した本、ウェブサイト、ポッドキャスト

私が見逃している他のものはありますか?

[編集] みんなありがとう。良い提案を失いました。複数の回答を受け入れることができればよかったのに!さらに、次のことも追加します。

  • システムのパフォーマンスを改善するために具体的に何をしましたか? また、現在ボトルネックはどこにありますか?
  • それに関連して、システムのセキュリティに関してどのようなことを行っていますか? (あなたは何をしましたか、そして今どこにセキュリティ ホールがありますか)

最後に 1 つ: 開発者は、必要に応じて私の質問に後で答えることができると言っていました。結局のところ、それは彼の「赤ちゃん」です。しかし、私は本当に6ヶ月で彼が引っ越して、彼の可用性がはるかに低下すると思います!

4

21 に答える 21

78

コードを見る前に:

objとexeをクリアし、彼/彼女に物を再構築させます。手動による操作に注意してください(「make」だけでビルドするのか、それともいじくり回すのか)。

さらに良いこと:彼/彼女に裸の(購入したばかりの)マシンを与え、彼/彼女にチェックアウトを実演させて再構築させます。次に、アプリがどのように起動して起動するかを確認します(入力するための秘密のオプションはありますか?)。

次に、ペアプログラミングセッションで、システムに1つまたは2つの機能を追加し、これらがどこでどのように実装されているかを確認します。

上記はばかげているように聞こえるかもしれませんが、私は、構築だけが悪夢であり、多くの知識が開発者の頭脳だけにあるプロジェクトを見てきました。信頼できるビルド環境がなく、再構築する方法を理解する必要があるのは、ちょっとしたことです。

于 2009-01-12T17:49:25.590 に答える
68

Web サーバー、ドメイン レジストラー、データベース サーバー、電子メール サーバーなど、考えられるすべてのログイン情報を必ず尋ねてください。ばかげているように聞こえますが、多くの場合、開発者はドメイン名を管理者および技術者の連絡先として登録します。元のプログラマーに連絡が取れない場合、会社はドメインを取り戻すためにレジストラとのあらゆる種類のフープを飛び越える必要があります.

于 2009-01-12T17:37:11.950 に答える
19

「このシステムに戻って再開発できるとしたら、何を変えますか?」

于 2009-01-12T17:34:14.013 に答える
14

質問: a) このシステムについて聞いてほしくないことは何ですか? b) このプロジェクトに携わっていないとき、最も嬉しいことは何ですか? c) 文書化するには複雑すぎるシステムの部分は何ですか?

于 2009-01-12T17:31:44.707 に答える
13

彼の電話。

于 2009-01-12T17:32:05.143 に答える
8

システムが要求する定期的な「手作業」とは?

ご存知のように、まだ自動化されていない、頻繁に発生する小さな仕事です。どのように修正し、どのように認識しますか。

于 2009-01-12T17:36:14.197 に答える
8

本当の要件は何かを尋ねます。ほとんどのプロジェクトには、要件が記述されていないか、要件が古くなっています。通常、実際のドキュメントは口頭での会話です。誰と話すかを見つけます。さまざまなユーザーから相反する要件がある場合は、幸せにするために誰が最も重要かを見つけてください。

于 2009-01-12T17:36:21.747 に答える
8
  • 既知の問題1
  • 既知の1 つの改善点
  • ベースラインとして使用される既存のコード カバレッジ データ、テスト パス率など
  • トラブルシューティングのヒント (ログ ファイルの理解、クラッシュのデバッグ、よくある問題)
  • 設定パラメータの説明

1彼または彼女だけが知っている

于 2009-01-12T17:31:53.613 に答える
4

プロジェクトを引き継ぐとき、私が通常最初に尋ねる質問は、ソース管理からそれを取得する方法です (基本的には、「それはどこですか?」)。それ以外は、すべての高い点に到達したと思います。

IDE セットアップ、単体テスト、展開メカニズム

おそらく、あなたが尋ねることができる最も重要なことです。

引き継ぐサイトに影響を与えた Web サイトを尋ねるときは、必ずリンクのリストを入手してください。多くの開発者が、サンプリングしたサイトへのブックマークを保持していることがわかりました。必ず入手してください。

于 2009-01-12T17:36:26.273 に答える
4

ビルドしてリリースできることを確認してください。

情報の欠落による問題が多すぎます。

すべての補助的なものを知る必要があります。

新しいマシンを入手して、ビルドとリリースを複製できることを確認してください。

編集:その後、「修正するつもりだったが、到達できず、どこにも文書化されていないすべてのものは何ですか」となりますか?

于 2009-01-12T18:34:19.947 に答える
2

アプリケーションのすべての「落とし穴」を必ず取得してください。多くの場合、これらはデータやビジネスアイテムであり、正式なドキュメントを作成するには細かすぎたり、風変わりですが、何が起こっているのかわからない場合は、大きな影響やデバッグ時間が発生します。

たとえば、私が現在保守しているアプリケーションの1つでは、「Webビューア」タイプのクライアントを持つサードパーティシステムとインターフェイスします。これに関する「落とし穴」は、Webビューアがユーザーのセッション状態を適切に維持しないことです(他の重大な問題を修正するために最新バージョンに更新されたときに壊れます)。その結果、タイムアウトが自然に発生するようにブラウザウィンドウを最小化するようにユーザーに時々注意する必要があります。そうしないと、このあたりのOpsの人々が新しいバージョンをインストールするまで、ユーザーは長期間ロックアウトされます。 。

于 2009-01-12T17:44:37.893 に答える
2

技術的なこと (「簡単に」理解できます :)) と同様に、ビジネス ルールについても調べてください。これらが適切に文書化されることはめったにありません (私の経験では)。通常、何か問題が発生した場合にのみ、難しい方法を見つけることができます。

于 2009-01-12T19:26:06.690 に答える
2

聞かないでください。彼を部屋に閉じ込めます - 彼が最初から始めてシステムについて知っていることをすべてあなたに話すまで、食べ物や水を与えないように彼に指示してください. 次に、関連する質問が出てきたら質問します。この後、コードを見て数日過ごします。その後、プロセスを繰り返します。システムに慣れるまでこれを行ってください。

于 2009-01-12T17:36:09.907 に答える
2

このサイトが遭遇した最大の問題は何ですか? また、それらはどのように解決されましたか? まったく意味をなさないものを修正しようとするのはあまりにも簡単で、無意味に見えるものが実際には微妙だが厄介なバグの唯一の修正であることがわかります。

コードを調べて、理解しにくいと思われるものを見て、「これは何をするのか、なぜ追加したのか」と尋ねるだけです。

応答を必ず書き留めておいてください。必要なときに応答できるように、コード内でコメントすることもできます。「言われてたのに…」という気持ちほど腹立たしいことはありません

于 2009-01-12T18:31:40.530 に答える
2
  • 新しいサーバーにサイトをインストールする方法。
  • サイトの機能と使用目的。
  • 使用されているデータベースとその場所。
于 2009-01-12T17:40:56.293 に答える
1

同じ会社で働いていたのですか?
そうでない場合、これはプロジェクトとは直接関係ありませんが、なぜ彼が去るのかを彼に尋ねます. それは、関係する政治についての洞察をあなたに与えるかもしれませんし、何か彼がそれやクライアントと一緒に仕事をしているのを悩ませているかどうかについての洞察を与えるかもしれません.

于 2009-01-13T14:52:56.820 に答える
1

アプリケーションを注意深く確認し、最初にそれを理解しようとします。次に、質問をして会議に入り、最も重要なのはコンテキストです。

于 2009-01-12T18:45:05.370 に答える
1

コードを 5 分間見るのが最善のスタートです。コードが本当によく整理され、コメントされている場合、彼と話す理由はまったくないかもしれません。

コードが恐ろしいものである場合、彼が何かを一緒にハッキングした理由を知的な理由で期待しないでください。

いずれにせよ、過去の開発者と話すことは、最も役に立たないことです。

于 2009-01-12T17:35:06.523 に答える
0

元の開発者が遭遇した障害や回避策について質問してください。

顧客についても学びます。彼らはうるさいですか?彼らは何を期待していますか?

于 2009-01-12T19:41:47.923 に答える