ホームページ  >  記事  >  バックエンド開発  >  PHPプロジェクトの「頑張った」経験と想い

PHPプロジェクトの「頑張った」経験と想い

WBOY
WBOYオリジナル
2016-06-13 12:00:04758ブラウズ

PHP プロジェクトの「大変」な経験と考え方

PHP プロジェクトの「大変」な経験と考え方

PHP基礎はありませんが、プロジェクトの人員が不足していたため、ユーザーが「カスタマイズした」プロジェクトに割り当てられました。このプロジェクトは、PHP を使用して生成された統計データ レポートです。ユーザーには新しい 3 のニーズがあり、既存のコードに基づいて完了する必要があります。

1. 最初の紹介PHP

私はこれまで PHP コード エンジニアリングに触れたことがないので、時間をかけて PHP の基本的な構文を理解する必要があります。個人的には、 はクラス定義、継承、派生に関して C++ に非常に似ていますが、C++C++C のデータ型の概念はなく、すべてのデータを直接宣言して任意に割り当てることができます。さらに、その文字列は非常に強力であり、C の文字列、構造体、共用体、列挙型などを組み合わせたものであり、「1 つの専門性が多くの機能を備えている」と言えます。

基本構文を一般的に理解し、いくつかの一般的な機能をすぐに確認できます。

2. コード構造のソート

カスタマイズプロジェクトの特徴: 比較的機能が充実した既存プロジェクトの場合これに基づいて、 ユーザーの「カスタマイズされた」ニーズに合わせて新しい機能を追加または変更します 。要件には、参照用に「**要件仕様」が含まれます。

プロジェクトサイクルが短いため、基本的にテーマです。この期間中、コードの範囲を狭めるために の「キーワード」検索メソッド が使用されました。ただし、コード構造が非常に大きく、「先行者」がコードについてコメントすることはほとんどないため、コード全体のフォローアップの進捗は非常に遅いです。私は方向音痴で、コードが「飛び回って」最初に読んだ場所に戻ってしまい、「文字列が接続できない」ように感じます。

プロセス全体は続きました5 天国よ、カタツムリのペースで前進してください。

3. 「エントリ」を見つけて関数を実装します。

新しい関数または変更を実装します。プロジェクト 機能の「パノラマ」全体の観点から、ユーザーのニーズを満たすには、次の手順が必要です:

最初のステップ:

Find 「コード」内で追加または変更された エントリ ポイント は複数ある場合があり、複数の PHPファイル、コードを読み取る過程で、これらの 「疑わしい点」 に注意し、マークを付けてください 独自の検索マークを容易にします。

ステップ 2: 「疑わしい点」 のコード ロジックを理解した上でコードを追加または変更し、顧客の機能に到達するまで繰り返しテストします。 。

ステップ 3: パッチ パッケージまたは増分パッケージを作成し、テストのためにテスト部門に提出し、テストが正しく行われた後にユーザーの承認を与えます。

最初のステップは非常に重要であり、多くの場合プロジェクト全体の半分近くを占めます。

この期間中、新しい関数の実装と既存のコード フレームワークを 組み合わせて を見つける必要があります。正しい「エントリー」。たとえば、レポートに新しいデータを追加したい場合、そのデータはどこから来たのでしょうか?データは mysql データベースに関連している可能性があります。データベースから統計分類データを取得するには、どうすればよいですか?新しい統計データを取得するには、SQL ステートメントを変更する必要がありますか?変更するにはどうすればよいですか?このように変更した場合、フロントエンドは正しく表示されますか?最初にバックグラウンド検証が必要ですか? ……

4. 考える

プロジェクトの目標を効率的に達成する観点と、私自身の泣ける涙の経験から、クロスランゲージ開発や今後のプロジェクトの参考に以下の点を考えていきたいと思います。

まず、「労働者が自分の仕事をうまくやりたいなら、はまず自分の道具を研ぐ必要があります 」。

コードの初期段階では、SourceInsight が正しくありませんでしたPHP のコード サポートは良好ではないため、Nodepad++ を使用して、 PHPとは異なるコードです。ファイルコードジャンプの痛みがはっきりとわかります。その後、検索により、SourceInsightPHP をサポートしていることが判明しました。設定方法。このようにして、キーワードの検索とコード ジャンプがはるかに効率的になります。その後、専門家から、この種のフロントエンド コードは実際に Subline Text2 を通じて読み取れることを発見しました。試してみたところ、非常にうまくいきました。今まで使用されていました。

したがって、優れたコード編集およびコンパイル ツール を使用すると、思考が比較的スムーズになり、作業効率が向上します。

2 つ目は、「つるをたどることによってのみ、メロンをつかむことができる」です。

コードがどれほど複雑であっても、他の人がコードを書いて機能を実現できる限り、私たちはそれを理解できません。コードのコメントがないことを「悪口」したり、文句を言ったりしないでください。 落ち着いて時間をかけて「ルールに従い」、コードのロジックを修正してください。全体的な考え方を徐々に確立していきます。

一方、「Shun Teng」はコードを読み取ってそれをたどることができます。コードのロジックが非常に複雑な場合は、 は、コードの呼び出し関係を整理するために主要な関数を出力します。 2 つの方法を組み合わせると、半分の労力で 2 倍の結果が得られます。

時間の制約があるため、初期段階では、コードを読む際の参照用に、ノートに素手でフローチャート 描くことができます。プロジェクトが要約されると、将来の使用のために標準化されたフローチャートが作成されます。

「つる」をまっすぐにすると、コードの追加や変更はそれほど面倒ではなくなります。また、「つるをたどる」時間は「メロンをたたく」時間よりもはるかに長いことも以前に強調されました。したがって、初期段階では忍耐強くなり、衝動的になることを忘れないでください。

第三に、詳細が非常に重要です。

コードを変更するときは、配列に新しいメンバーを追加する必要があります。 「dataRow」が誤って「dateRow」、 と書かれていました。 PHP は、これが新しく定義されたメンバーであると誤って認識し、構文エラーを報告しませんでした。その結果、別の PHP ファイルで新しい値を取得できません。徐々に調査範囲を書き込み領域に絞り、関数の前後、関数内でのログ出力と比較を追加しました。問題の原因はまだ見つかっていません。しかし、問題が書き込み部分にあることが確認され、最終的に問題を発見するまでにほぼ1 日かかりました。 先ほどのスペルミスです。

実際、一部のコンパイル環境では同様のエラーを「補完」によって回避でき、一部の言語では構文エラーも報告されます。ただし、注意深さはプログラマーにとって不可欠な資質なので、これは警告として受け止める必要があります。

4 つ目、あまり欲張らずに、一度に 1 つずつ行ってください。

。したがって、要件を 1 つずつ実現する必要があります。一握りが砂時計になってしまい、ほんの少ししか掴めないことがよくあります。小さな関数を実装したら、 を知る必要があります。このように、NextNext とすると、プロジェクトは比較的コンパクトになります。仕上げる。

2014-6-18 pm20:58家のベッドについて考える

著者: Mingyi Tianxia

ソースと元のアドレスを示してください転載用:http://blog.csdn.net/laoyang360/article/details/32175701

この記事が役に立ったと思われる場合は、

'いいね

'私をサポートしてください、あなたのサポートが私が書き続ける最大の動機です、ありがとう!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。