PHP、HTML、JavaScript、および優れた実践方法の記述


10

私と私のチームのために、HTML、JavaScript、およびPHPコーディングに関する規約の仕様を書き留める必要があることに気付きました。

Web開発では、C ++と同じように、私はインデントとコメントのファンです。

それにもかかわらず、私の仕事でHTML + JavaScript + PHPコードに遭遇することが多く、突然頭痛の種になります。

私はコードを読みやすくしようとしていますが、インデントとコメントのために私にとってより良いように見えるものは私のチームメイトを魅了しないようですので、「ハイブリッド"今日のWebページと同じように、日々複雑になるドキュメント。

おそらく今日のWebページのコードの性質が少し複雑であることに気づいていますが、これらの側面に関する良い慣習がすでに存在しているかどうかは疑問です。

回答:


19

私が従ういくつかの一般的なルール:

一般的な

  • インデントは4つのスペースです。
  • 新しいレベルをインデントする
  • コメントは、インデントレベルから80文字未満です。2つのレベル(8つのスペース)にいる場合、カーソルの停止位置は約88文字になります。
  • 複数行コメントを使用します。私は見た目が好きですが、これは主観的なポイントです。
  • 何が起こっているのか分からない場合は、後でコメントするのではなく、後でコメントしてください。
  • オールマンスタイルのブレース。よりクリーンで読みやすくなります。主観

JavaScript

  • ライブラリを使用します。特にjQueryは非常に優れています。それはすべてのクロスブラウザの頭痛を取り除きます。
  • IDは特定の要素用であり、クラスはスタイル用であることを理解してください。IDは1ページにつき1回以上使用しないでください。また、特定のフックが付加されます。ナビゲーションなどにクラスを使用します。
  • ソースをメソッドに出力します。すべてのコードをbind呼び出しに入れるのは魅力的ですが、それを独自の関数に入れると、コードの柔軟性が向上します。
  • evalの代わりに関数を使用します。その手段setTimeout(function(){ /* Do something */ }, 1000);の代わりに、setTimeout('doSomething', 1000);
  • でローカル変数を使用しvarます。

HTML

  • セマンティックマークアップ。適切なタグを使用します。<br />スペースを追加したり、マージンやCSSルールを調整したりするためにを入れないでください。
  • すべてのタグは小文字です。
  • すべてのタグは終了タグで終了するか、自己終了である必要があります
  • 同様のレイアウトのクラスを利用します。以下のような事前に定義されたクラスのカップルを持っているhideclearerror、など
  • すべて(スクリプトを含む)はに入れる必要があり<head>ます。問題が発生したときに最適化(移動すること)について心配します。
  • ページ固有でない限り外部スタイルシートとJavaScriptソースは必須です。

PHP

  • フレームワークは優れています。CodeIgniterをお勧めします。
  • フレームワークを使用したくない場合は、可能な限り最新バージョンのPHPを使用してみてください。(つまり、5.3を意味します)。
  • includes有利に使用してください。
  • 注入をクリアするか、準備されたステートメントを使用します。
  • 先入観のあるフェイルセキュア値をチェックするかどうかを実行します。

    $logged_in = false;
    if(check_user($user))
    {
         $logged_in = true;
         $user = load_user($_SESSION);
    }
  • 一重引用符と二重引用符の違いを理解します。可能な場合は一重引用符を使用してください。
  • HTMLをエコーし​​ません。

4
優れたリスト。PHPの場合、1)テンプレートを使用し、phpとhtmlを混在させないでください(少なくとも、アプリケーションでは)2)include()を関数呼び出しとして使用しないでください3)できるだけ多くのコードをグローバルスコープの外に置いてください。
GrandmasterB

CodeIgniterとjQueryを推奨する人は、私の目にある整合性を失います。
mefisto 2011

4
@teresko:理由や選択肢を与えずに非難します。
Josh K

+1。議論の余地のある、議論の余地のあるポイントのリストですが、それでもかなり良いリストです。
ヘイレム2013

jQueryはすべてのブラウザー間の頭痛を解消ますか?
James Adam

3

インスピレーションを得るためにいくつかの読書があります:

  • Zend Framework-phpコーディングスタイル:メインテーブルphpコードの記述方法のリスト(PHPファイルのフォーマット、命名規則、コーディングスタイル:配列、文字列、クラス、メソッドなど)。
  • Google- コードスタイルガイド:保守可能なJavaScriptコードを記述する方法のリスト(ルール:コンスタンス、セミコロン、ネストされた関数...、コーディングスタイル:ネーミング、スコープ、文字列、可視性フィールドなど)。

これらのリソースの機能についての説明をお願いします。質問に答える際に、これらのリソースを推奨する理由を教えてください。「リンクのみの回答」はStack Exchangeではあまり歓迎されません
2013年

1
@gnat編集/正解
tomascejka

2

3つは別々にしてください。私が扱う最も保守しにくいコードは、多くのHTMLとJavaScriptをエコーし​​ているいくつかのPHPが常にある場合であり、おそらくいくつかのSQLが適切な方法で発生します。

これらすべてを別々に維持することで、コードの保守がはるかに簡単になり、HTML / CSSでのみ作業する必要があるデザイナーなど、アプリケーションのさまざまな部分で作業している人がいる場合は、さらに効率化されます。


2

PHP Webアプリをコーディングする最も簡単な方法は、すべてをまとめることです。ただし、その方法で行うと、保守不能な混乱にすぐに巻き込まれてしまいます。

以下にいくつかの

推奨事項を示します。1)JavaScriptをドキュメントの<head>に配置します(または、より適切には、ヘッドで参照される個別のファイルに配置します)。HTMLを通じてイベントリスナーを分散させるのではなく、document.onloadイベントでイベントリスナーをバインドする方法を学びます。(さらに良いことに、Jqueryのようなフレームワークの使用方法を学んでください。これにより、JavaScriptがはるかに美しくなります)。

2)MVCなどのデザインパターンを検索します。PHPで作成されたビジネスロジックを、HTMLからできるだけ分離したいとします。理想的には、HTMLページを作成するために素晴らしいテンプレート言語を使用することになります。少なくとも、HTML内のPHPは簡潔にする必要があります。主に変数を呼び出し、他の場所で作成されたリストをループします。

3)コメント、インデント...これらは基本的なプログラミングのベストプラクティスにすぎません。HTMLを記述しているときは、行の長さが80文字を超えてしまう傾向があります。これは、言語が非常に冗長であるためですが、これは、スライドを許可する必要がある従来の唯一の方法です。チームの他のメンバーがずさんな場合は、彼らはそれを吸い上げて形を整える必要があります。


いいコメント!タイプミスがあります:「JavaScriptをドキュメントの中に配置する」
DL

おっと。ありがとうございました。(山かっこでエンコードするのを忘れた。愚かな私。)
パッチ

1
パフォーマンス上の理由から、JavaScriptはページの最後に置く必要があります。
Toby

0

ここにいくつかのヒントがあります:

JavaScript:var変数を初期化するときに使用します。

HTML:最後にロードされるように、ファイルの下部にスクリプトを含めます。

PHP:ファイルを分割します。通常のC ++開発とは異なり、すべてのクラスを1つのファイルに配置しないでください。できるだけコメントし、関数/クラスの目的を書き留めます。


私はGoogle JavaScriptスタイルガイドをフォローしようとしています:google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
Fosco
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.