海外メディアレビュー: プログラムを改善するための 11 のヒント_PHP チュートリアル
明確で読みやすいプログラムを作成する必要がある理由はたくさんあります。最も重要な点は、プログラムを作成するのは一度だけですが、将来的には何度も読み取ることになるということです。翌日コードに戻ったら、読み始めてください。コードを他の人に見せるときは、その人はコードを読まなければなりません。したがって、書くときにもう少し時間を費やすと、読むときに多くの時間を節約できます。
基本的なプログラミング スキルを見てみましょう:
メソッドはできるだけ短くしてください
同じ変数を複数の異なる目的に決して使用しないでください
自己記述的な変数名とメソッド名を使用します
変数はできるだけ使用される場所の近くで定義してください
謎の数字を拒否
言葉遣いに優しくしてください
ルールに違反しないでください
時期尚早な最適化に注意してください
テスト済みプログラムを積極的にリファクタリングします
テクニックにこだわりすぎないでください
実践例を通して新しい知識を学びましょう
それでは、それぞれの小さなポイントを拡張して詳しく説明していきます。
1.メソッドをできるだけ短くするようにしてください
多くの人がこのルールに従っていますが、それでも非常に重要です。作成するメソッドは常に 1 つの画面に収まるようにしてください。スクロールする必要がある場合、気が散ってコンテキスト全体が見えなくなります。状況に応じて、最適な長さは 5 ~ 20 行です。もちろん、ゲッター/セッターは通常 1 行のメソッドですが、実際のメソッドというよりはアクセサーに似ています。
2. 複数の異なる目的で同じ変数を決して使用しないでください
変数は常に 1 つの目的のみを提供する必要があります。変数を定数 (C++ では const、Java では Final) にすることで、コンパイラはコンパイルを最適化し、この変数が変更できないことをコードで明確に表現できるようになり、プログラムの可読性が向上します。
3. 自己記述的な変数名とメソッド名を使用する
あなたのコードは、誰にとっても、見ただけで何をするのか理解できる必要があります。次のような特別な習慣がない限り、略語は使用しないようにしてください。
src - ソース pos - 位置 prev - 前
わかりやすい名前はそれほど価値がないと思われる場合は、n、ns、nsisd を numTeamMembers、seatCount、numSeatsInStadium と比較してください。
4. 変数は、使用される場所のできるだけ近くで定義します
家を建てるとき、他人の庭にハンマーを置きたくないですよね。できるだけ手元に置いておきたいものです。変数の定義についても同様です。
int foo = 3;int bar = 5;// 「bar」を使用するコードの大部分、 // しかし「foo」は使用されません // ...baz(foo);
このコードは単純に
に再構成できます。int bar = 5;// コードの大部分は「bar」を使用しますが、 // 「foo」は使用しません // ...int foo = 3;baz(foo);
これは、変数の宣言を最初に使用するときから離れすぎた (1 画面以上離れた) 場合に問題になります。コンテキストを思い出すのは難しくなり、変数がどこから来たのかを見つけるためにスクロールする必要があります。
5.謎の数字を拒否する
何かを定数値と比較したい場合は、値を定数として定義することを忘れないでください。同僚が何を書いたかを推測することほどイライラすることはありません:
イル
フォームを変えるのはどんな感じですか?
inputLength 6. 言葉遣いをフレンドリーにしましょう 新しい言語を学ぶのはとても楽しいですし、タスクを完了するための新しい方法を学ぶことができます。すでにある言語を専門としている人が別の言語を学習すると、大きな悪影響が生じます。あなたが Java 開発者で、Ruby を学ぼうとしているとします。 Java の方法で問題を解決するのではなく、Ruby の方法で問題を解決する方法を学ぶ必要があります。 Java で「Hello world!」を 5 回繰り返す必要がある場合は、次のようにします。
for i in (0..5) は「Hello world!」を終了します
これは問題ないようですが、もっと良い方法があります:
5.x { は「Hello world!」を入れます }
7. ルールに違反しないでください
それぞれの言語には独自の異なる慣習があります。一般に、人々が最もよく聞くのは Java のコーディング仕様です。これらの習慣のいくつかを見てみましょう:
メソッド名は小文字で始まり、その後に大文字の単語が続く必要があります(veryLongVariableName)
クラス名はすべて、単語の最初の文字を大文字で連結して形成する必要があります
定数名はすべて大文字でアンダースコアで接続する必要があります(MY_CONSTANT)
左中括弧は if ステートメントと同じ行にある必要があります
これらのルールを破るのは、必要な理由がある場合のみであり、単に自分が不幸だからという理由で破らないでください。チーム内のこれらの習慣の一部を変更するだけであれば問題ありませんが、コードを取り出して、これらの考えに対して準備ができていない他のプログラマーと共有すると、問題が発生します。
8. 時期尚早な最適化に注意してください
時期尚早の最適化がすべての問題の根源、少なくともテレビではそう言われています… まず気を付けるべきことは、理解しやすいコードを書くことです。私が最初に書いたプログラムは高速である必要はありませんでした。プログラムが非常に遅い場合を除き、最適化について話すのは時期尚早です。何かを最適化したい場合は、まず問題が何であるかを知る必要があります。これがプロファイラーが必要な理由です。
問題がどこにあるのかを知らずにプログラムを最適化しようとすると、必然的にプログラムが壊れるか、少なくともコードが可読性を失います。何かが遅いと思われる場合は、やみくもにコードを書き直すのではなく、まず遅いという証拠を見つける必要があります。
まったく存在しない問題を解決するような愚かなことはしないでください。
9. テスト済みプログラムを積極的にリファクタリングする
完璧なものはありません。実際には完璧なコードを書いたように感じていても、数か月後に振り返ってみると、「どうしてそんなに愚かだったんだろう?」と疑問に思うかもしれません。
プログラムを改善する良い方法はリファクタリングすることですが、それはプログラムがテストに合格した後に限ります。まず、プログラムが良好で実行可能であることを確認する必要があります。これは、自動テストまたは手動テストを通じて行うことができます。最初に必要なのは、プログラムが利用可能になることだけです。最初から完璧なプログラムを書くことを期待しないでください。必要なのはそれを機能させることだけです。次に、それをリファクタリングして完璧にします。テスト駆動開発 (TDD) を知っている人にとっては、これは見覚えのあるものでしょう。ここで重要なのは、リファクタリングに慣れる必要があるということです。 IntelliJ IDEA のような強力な統合開発ツールを使用している場合、リファクタリング作業ははるかに簡単になります。
リファクタリング後、いくつかのバグが作成され、特定の機能で問題が発生する可能性があります。だからこそ、自動テストを作成することが重要です。リファクタリングするときはいつでも、すべてのテスト ケースを実行するだけで、何が問題だったのかが正確にわかります。
10. テクニックにこだわりすぎないようにしましょう
デザインパターンについて初めて読んだとき、聖杯を見つけたと思いました。これらの綿密なアイデアは、最初から最後まで説明しなくても「『オブザーバー パターン』を使用しています」と言うだけで済むため、デザインを理解しやすくするのに大きな効果があります。それで、何か質問はありますか? すべてが非常に自然でシンプルに見えるため、あらゆる場所でデザイン パターンを使用し始めます。このクラスをシングルトンにしてみませんか? いくつかのファクトリークラスを作成してみてはいかがでしょうか?
つまり、80 行で記述できるスクリプトの場合、最終的には 10 のクラス、15 のインターフェイス、さらに多くのパラダイムとマーカーを使用することになります。コードの 97% は何も行いません。デザイン パターンはデザインを簡素化するのに非常に便利なツールですが、どこにでも使用する必要があるというわけではありません。それらは使用する必要がありますが、乱用しないでください。
11. 演習を通じて新しい知識を学びます
プログラミングは新しい知識を学ぶプロセスです。新しいライブラリや言語を学ぶとき、古いコードを捨てて、新しく得た知識を使ってコードを書き直したくなるかもしれません。これをすべきではない理由はたくさんあります。
これは、既存のアプリケーションに新しいクラス ライブラリやフレームワークを追加する場合にも当てはまります。 Javascript Web アプリケーションを作成し、そのプロセス中に jQuery を発見したとします。ここで、これまで一度も使用したことがないにもかかわらず、突然、JavaScript プログラムを捨てて jQuery で書き直したくなりました。
最善の方法は、まず jQuery で簡単な例をいくつか書き、この方法でアプリケーションで使用するすべての知識を学ぶことです。 AJAX が必要ですか? プロジェクトの外でいくつかの小さなサンプルを作成し、完全に理解したら、サンプルを捨てて製品に適用してください。
プログラミング技術に非常に興味がある場合は、Steve McConnell が書いた「Code Encyclopedia」という本を読むことを強くお勧めします。それはあなたのプログラミングに対する理解を永遠に変えるでしょう。 :)

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1
使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版
中国語版、とても使いやすい
