3

最近、次のようにフォーマットされたコードをたくさん見ました。

A:

if ($var=='test'){
    $var=Foo('blah'.$var1);
}else{
    // do something
}

個人的に私はそれが好きではなく、次のようにそれを好むでしょう:

B:

if ($var == 'test') {
    $var = Foo('blah' . $var1);
} else {
    // do something
}

私はそれがはるかに読みやすいと思います(スペースの追加に注意してください)。

コミュニティには一般的な好みがありますか、それともある方法が別の方法よりも優れていますか?

4

5 に答える 5

12

最も重要なことは、基準に従い、それに固執することです。

とはいえ、 Zendのフレームワーク標準に​​従うことができ、スペースを使用している可能性があります。C.4.6を確認してください。

if ($a != 2) {
    $a = 2;
}

それが役に立てば幸い!

于 2009-11-04T16:31:14.993 に答える
3

スペースの+1:)

しかし、それは私自身の基準です。一貫性があり、コードが明確である限り、問題はありません。

于 2009-11-04T16:33:21.930 に答える
2

PHPは、構文がCによく似ています。私は両方を使うので、同じスタイルに従う傾向があります。

たとえば、キーワードと関数:

if ($foo) {

vs

MySuperDuperFunction($foo);

次に、インデントの問題が発生します。

switch ($bar) {
    case CONSTANT:
        more_code();

..として読むのがはるかに簡単です

switch ($bar) {
case CONSTANT:
    more_code();

これは、スイッチとケースが同じレベルにあることを示しています。また、まだ最適化されていないスイッチでのクレイジーなインデントを回避するのにも役立ちます。

あなたのスタイルは、あなたが使用している言語の糖衣構文を説明する必要があります。これは、PHPとCで奇妙になります。どちらも、寛容なパーサーを持っているからです。

このようなものを書く場合:

if($a==2&&b==1&&c>3)
{

私はあなたを追い詰めて、あなたに私のアスピリンの代金を払うように要求するつもりです。これについても同じことが言えます。

if (
    a==2
     &&
    b==1
     &&
    c>3
)
{

...神のために、それはLISPではありません!

于 2009-11-04T16:47:17.560 に答える
0

それはあなたのチーム内で確立されている信念の問題です。

最も有名な規則は、ZendFrameworkとPEARです。自分で作成することもできますが、読みやすいことを確認してください。

個人的にはスペースを使います。

于 2009-11-04T19:01:58.620 に答える
0

一般的なアドバイスは、コードのフォーマットを標準化することです。これにより、カスタムを発明するのではなく、いくつかのベストプラクティスを満たし、広く知られています。

PSR-2、コーディングスタイルガイドは、多くの人に受け入れられている最もよく知られたアプローチです。ここに事実があります。コードのフォーマットを維持するのが良い理由です。

于 2016-05-08T23:37:53.943 に答える