4

すべてのPHPコードが4ではなく2でインデントされているため、ここで質問しました。

非常に優れたツールであるPhpCodeSnifferには、「4」のインデントがあり、その値を変更できないようです。

PHPCodeSnifferには多くのオプションがあります。したがって、これは「インデント幅」を簡単に追加できるはずです。しかし、それは不可能であるため、作成者は自発的にその可能性を回避したようです(これは奇妙な私見です)。

それで、これを変更できないのなら、私は疑問に思っていました。「インデント幅= 4」は事実上の標準ですか?

これはJava/JavaDoc生成でも同じですか?

10.000行以上のコードをすべて4-インデンス幅に変更する必要がありますか?

4

4 に答える 4

8

sniffsのパブリックメンバーvarは、ruleset.xmlファイルを使用して上書きできます。ruleset.xmlファイルは、独自のカスタムコーディング標準のXML表現です。含まれている標準のいずれかからスニフをインポートできます。また、作成することを選択した場合は、独自のカスタムスニフを含めることもできます。

あなたの場合、正確なPEAR標準が必要ですが、インデント値が変更されています。したがって、ファイルmystandard.xmlを作成し、これをコンテンツにします。

<?xml version="1.0"?>
<ruleset name="MyStandard">
 <description>My custom PEAR coding standard.</description>
 <rule ref="PEAR"/>
 <rule ref="PEAR.WhiteSpace.ScopeIndent">
  <properties>
   <property name="indent" value="2"/>
  </properties>
 </rule>
</ruleset>

phpcs --standard=PEAR ...これで、使用するコマンドを使用してPHP_CodeSnifferを実行する代わりにphpcs --standard=/path/to/mystandard.xml ...

標準を好きなように呼び出して、XMLメタデータ(名前と説明)をより適切なものに変更できることに注意してください。

カスタムruleset.xmlファイルでできることは他にもたくさんあります。カスタムルールセットの詳細については、http://pear.php.net/manual/en/package.php.php-codesniffer.annotated-ruleset.phpを参照してください

于 2012-04-15T00:23:12.793 に答える
2

いいえ、それは事実上の標準ではありません。インデントの基準はありません。

--sniffsを使用してルールを選択できます。マニュアルを参照してください。インデントテストを行う必要はありません。

PHP CodeSnifferが良ければ、コーディング標準でインデントスタイルを定義することができます。ただし、ドキュメントにはそれについての言及はありません。

または、次の説明に従って独自のルールを作成することもできます:http: //pear.php.net/manual/en/package.php.php-codesniffer.coding-standard-tutorial.php

于 2012-04-14T15:19:18.143 に答える
1

私が見つけたのPHP_CodeSniffer\CodeSniffer\Standards\Generic\Sniffs\WhiteSpace\ScopeIndentSniff.phpはですpublic $indent = 4;

この値を変更したいだけかもしれません。

于 2012-04-14T15:19:03.697 に答える
0

PHP CodeSnifferにはルールがあります。私が知っていることから、インデントを定義するルールを作成できるはずです。4は、2のような値です。したがって、機能するはずです。おそらくオプションとしてではなく、標準を定義するときの範囲内です。

于 2012-04-14T15:13:07.133 に答える