2011-10-27 9 views
2

私は最初から始めたプロジェクトでしか働いていませんでしたが、今はドキュメンテーションもガイドもなく、既存のプロジェクトで作業しなければなりません。プロジェクトに携わったすべての人がなくなり、私のクライアントはプロジェクトに取り掛かりたいと思っています。 常識はホームページから始まり、どこに何がどこにあるのかを学習することになります。文書化されていない既存のプロジェクトでの作業方法は?

このサイトはCodeigniter(PHP)上に構築され、900-1100行までのコードを持つページが500ページ以上あり、カスタマイズされたオプションがいくつかあります。 効率的で時間のかかる方法がありますか?助けるかもしれないどんなツール?

+0

番号理由ですべてのプロジェクトを文書化、があるでしょうか? – str

+0

は常に時間がかかります。私はコントローラーとアプリケーションディレクトリ – galchen

+0

の下でのビューから始めるだろう誰かのコードを調べることは常に困難です。エスケープはありません、あなたはそれを勉強しなければなりません。いくつかのアドバイス:1.あなたが言ったように、あなたの最善の策は、ホームページから始まり、プロジの勇気にカスケードすることです。 2.良いIDEを使用すれば、ソースファイルを簡単にナビゲートしたり、クラス、宣言、実装からジャンプすることができます(IDEが最初に作成されたものでない限り)。それはいつあなたが戻ってバイトするのか分からないからです。 4.何かをする前にあなたのプロジェクトをSVN/GITする。 5.幸運。 –

答えて

3

私はこのような状況に1〜2回いました。ドキュメンテーションは通常プログラマーとコードの間の接着剤であるため、実際に手助けできるツールはないと思いますが、実際にはそれらを検索していません。

私は2つの発言があります。まず、これはあなたに多くの時間を要します。 A ロット。基本的に、あなたはリバースエンジニアリングです。見積もりをする際に考慮してください(必要な場合)。

第2に、あなたの最善の策は、あなたが行っていることを文書化することです。あなたが遭遇する各機能は、あなたが考えるべきことを文書化します。このようにして、検査した関数を再度調べなくてもその関数を振り返ることができます。関数の内部が何をしているのか分からなければ、今のところそれを残して、別の関数またはメソッドに行きます。

最後に、ドキュメンテーションがまったくない場合は、コード内と実行中(実行中であることを前提とする)の両方でプログラムをステップ実行するだけで、それが想定されていることを推測できます行う。小さな関数を文書化し、大きな関数/クラスまであなたのやり方で作業してください。あなたが出会ったノートをすべて保存します。可能であればクリーンアップしてください。ただし、クリーンアップしている部品が何をするべきかを感じている場合にのみ、クリーンアップしてください。それには時間がかかるかもしれません。

これは本当に助かりますが、それは悪い状況です。私は、コードがドキュメントよりも優れていることを願っています。それがうまくいかなければ、部品を書き直す時間も考慮する必要があります。

幸運。

2

​​を使用すると、プロジェクト構造の読み込み/閲覧可能なアウトラインを取得するのに非常に役立ち、標準インストールでPHPをサポートします。これは、プログラム内のさまざまな依存関係間にハイパーリンクを持つHTMLドキュメントを生成します。それを実行

は非常に単純です:

cd <project-top-level-directory> 
doxygen -g 
doxygen Doxyfile 
関連する問題