1

開発者の間で最高のフォーラムWebサイトを持っているので、どのポリシーとベストプラクティスが優れたコーディングを行うかについて非常に良いコンセンサスが得られると思います。そのうちのいくつかをここに載せますので、アイデアを出しますが、あなたの意見を聞きたいと思います。投票はおそらく周りの最良の政策の判断者になるでしょう。

  • 開発チーム間のコーディングのための特定のインデント
  • 各メソッドの前、各変数宣言の前の特定のコメント
  • 命名規則、キャメルケースまたはその他。
  • 各コンテナタグの後のHTMLコメント。
  • CSSでは、各宣言を1回だけ使用します。

あなたはその考えを理解します。会社が私たちに何を求めているのか、そしてそれらのどれが保守可能で美しいコードを取得するために実際に働いているのかを知りたいと思います。

4

3 に答える 3

2

私は、コードのフォーマットではなく、開発慣行に焦点を当てます。いくつかの例は次のとおりです。

  • 常にパラメータ化されたSQLクエリを使用してください。ユーザー入力をクエリに連結しないでください。
  • HTML、CSS、JavaScriptを別々のファイルに保存します。
  • コードをコミットするたびにjslint、または同等のツールを使用してください。
  • HTML標準(HTML 4.01 strictなど)を選択します。すべてのHTMLを検証する必要があります。

そして、政策ナチにならないでください。ルールを破らなければならない場合もありますが、そうすることには非常に正当な理由があるはずです。

于 2009-08-24T19:09:34.907 に答える
1
  • バージョン管理されていない場合、コードは存在しません。より具体的には、リポジトリにコミットされていない限り、本番サーバーには何もありません。
  • プロジェクトが古いコードをリファクタリングする機会を提供する場合は、その機会を利用してください。
  • wikiまたは同様のドキュメント手順、標準、およびライブラリコードの使用を維持します(そのようなドキュメントがコードコメントに対して多すぎる場合)
于 2009-08-24T19:22:37.890 に答える
0

(PHPプロジェクトの場合、少なくとも-PHPはオープンソースであり、重要なコミュニティがあることに注意してください。したがって、多くのことは、コミュニティで行われていることによってかなり推進されます)

まず第一に、プロジェクトでフレームワークを使用するとき(つまり、常に)、明確に定義されている場合は、そのポリシーに固執しようとします(少なくとも、Zend Frameworkの場合):これにより、これに取り組むすべての人が保証されますプロジェクトは:

  • 標準の定義を見つける
  • 同じフレームワークを使用する他のプロジェクトで再利用する
    • 他の会社に行ったり、他のクライアントのために働いているときでも
    • または他の会社から来たとき;-)

私が働いている会社のPHPプロジェクトには3〜5個のフレームワークしか使用しておらず、それらの標準で定義されている多くのルールが同じであることを考えると、それは実際の問題ではありません。

もちろん、たとえば、ある種のCMSの内部/周辺でコーディングする場合も、同じことが当てはまります。


特定のフレームワークを使用しない場合は、PHPコミュニティで広く受け入れられている共通のルールセットに固執するように努めます。同様に、それらのルールが(当社の新規参入者でも)よく知られており、見つけやすく、そして、多くの人々がそれらを試し、それらを強化しました。


コメントについては、PHPでよく使用されるツールが1つあります。phpDocumentor (javadocとほぼ同じもの)。これは標準を定義します。これは事実上の標準です。これほど使用されるツールは他にないためです。

特定のコメントタグについて:

  • 常に@param/@returnを使用します。これらはIDEに統合されており、型ヒントを提供するため、便利です。
  • それ以外の場合、私たちはあまり使用しません:それが明白でない場合にメソッドが何をするかを言うために数行; 難しいアルゴリズムが使用されている場合は、数行。


キャメルケースまたはその他:PHPコミュニティとフレームワークの両方に共通するものに固執します:

this_is_a_function

ThisIsAClassName

thisIsAMethodName


HTMLでは:ブラウザに送信されるため、可能な限りHTMLコメントは使用しません:

  • より大きなページを意味します(わかりました、それほど多くはありません)
  • ユーザーが必要としない情報を提供することを意味します

可能であれば、テンプレートエンジンからのコメントを使用します。


CSSの場合:必要に応じてコメントします; さらに重要なことは、非常に具体的ないくつかの小さなCSSファイルを使用することです(ビルドプロセス中にmerge-toolを使用している場合でも)


しかし、おそらくこれよりも重要です。私たちは「クリーンな」コードを使用しようとします。小さな「ユニット」のことだけを実行する小さなメソッドで、自己記述的な名前とすべてを使用します。

それは魔法ではありませんが、コードを理解するのに役立ちます...そしてまた、それをテストし、それを再利用し、...


また、ネイトが言ったように:これらはほとんどガイドラインです-クライアントによって特に必要とされる場合を除いて...その場合、それらの後に文字が続くことを確認するためにいくつかの自動ツール(たとえばビルドプロセス)を配置する必要があります。

于 2009-08-24T19:10:59.897 に答える