問題タブ [codesniffer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP_CodeSniffer ファイル スニフごとに多数のクラス
エラーなどを返すためにメインクラス内に例外を作成する標準が使用されています...問題は、すべての標準スニフがこれを好まないことです。このために独自のスニフを書いていますが、なぜこれが望ましくないのかを尋ねてみようと思いましたか?
たとえば、次のようなものがあります。
これにより、コードは呼び出し元に何が起こったかを示すためにさまざまな例外を返すことができますが、専用の try/catch が利用できない場合でも、基本的な例外がキャッチされる可能性があります。
これは、エラーを処理するためにコール スタックの上位にあるコンポーネントにエラーの性質が返される可能性があるため、データベースやその他の外部オブジェクトを操作する場合に便利です。
たとえば、ファイルを削除しようとしていてファイルが存在しない場合、コードは例外をスローする可能性がありますが、ファイルが存在しないことを気にしない場合、呼び出し元にはこれを無視するオプションがあります。とにかく削除します。ただし、別の呼び出し元は、ファイルが削除されたときに存在すると想定されていたファイルがないとエラーになる可能性があります。
php - PHP_CodeSniffer チュートリアル
ルールのより複雑な処理を含む、最新のチュートリアルを持っている人はいますか? 私がオンラインで見つけているチュートリアルのほとんどは、ruleset.xml を使用した 1.4.3 を扱っていませんが、コーディングの古い php ファイルを扱っています。
第二に、私たちの会社には施行のためにコーディングする必要があるさまざまなコーディング標準があり、既存の複雑なスニフとその構造を理解するための適切な出発点が必要なため、より詳細な処理を行いたいと考えています。
私たちの会社は一般的なライブラリとは異なる標準を使用しているため、開発者はコードを読むときにメソッドが外部ライブラリ (PEAR/Zend/etc...) からのものかどうかを命名規則が示すため、知ることができます。コーディング標準が私たちの形式ではない場合、メソッドは外部ライブラリからのものであり、開発者が何かを再実装する必要なく、うまく機能する可能性が高い.
大規模なコード ベースでは、ソースを知らなくても、スタックをトレースしなくても、作成されたクラスと参照されたメソッドが表示されます。したがって、異なる基準を使用することで、クラスが際立ちます。
例えば:
変数の宣言も同じで、メソッドと変数の末尾にアンダースコアを使用して Private スコープを示します。誰かがスコープの解決を変更している場合は、アンダースコアを削除し、変更の影響を理解していることを明確に示すために、プライベート キーワードの変更/削除を行います。
php - PHPドックブロックを対象としたPHPCS標準はありますか?
@param
適切な注釈( 、、、@return
など)がドックブロックに存在することをチェックするPHPCSコーディング標準はあり@throws
ますか?それらの間の適切な間隔も含まれますか?
php - 変更された行にのみPHP_CodeSnifferを使用します
SVNでpre-commitスクリプトを作成しようとしていますが、(ファイル全体ではなく)変更された行でのみPHP_CodeSnifferを実行したいと思います。これまでのところ、私はこのスクリプトを持っています:
php - PHP CodeSniffer の実行時間を改善するには?
個々の「スニフ」実装を最適化できることは重要ですが、私の質問はそれについてではありません。
私が実際にやりたいことは、コードベース全体 (数百万行の PHP コードを含む) に対してお気に入りの数十個ほどのスニフを数秒で実行することです。
私のお気に入りの各スニフは、コードベース内の各ファイルに対して実行するのに 2 秒もかからないため、原則として、実行できなかった理由はありません (現時点では「複数ファイルのスニフ」を使用していないと仮定します)。これは、問題を数十万の「ジョブ」に分割し、それらを(豊富な)「ワーカー」の海に分散させて並行して実行し、結果を集計することによって行われます。
非常にスケーラブルなアプリケーションを構築するためのいくつかの一般的なフレームワークの 1 つを使用して、誰かが既にこれ (またはそれに似たもの) を行っており、共有する実用的なアドバイスを持っていることを願っています。
編集:
ソフトウェア リリースを「ビルド」するときに CodeSniffer を使用してソース コードの静的分析を行いたいため、速度は実際に重要です。また、ビルド プロセス全体を数時間 (または数日) ではなく数分で実行したいと考えています。これは CodeSniffer がもともと使用されるように設計された方法ではないことを理解しています (たとえば、コード変更をコミットする前にコード変更の潜在的な問題を示すことができる IDE プラグインとして)、「スニフ」の柔軟性が CodeSniffer を静的分析アプリケーションを開発するための理想的なツールです。
php - PHP Code Sniffer とキャメル キャップ
Code Sniffer を使用してコードをクリーンアップし始めたところです。
Code Sniffer が php の組み込み関数名をエラーとしてキャッチすることがわかりました。例えば:
オンラインif($mysqli->connect_error === true) {
で次のメッセージが表示されます。
変数 "connect_error" は有効なキャメル キャップ形式ではありません。
Zend 標準はクリーンアップのポイントが多く、今後も使用したいと考えているため、Zend 標準を使用することにしました。
問題は、これについてどうするかということです。- これらのエラーを無視する - php コード スニファーを修正して、php 組み込み関数名を無視する - 別の標準を使用しますか? - 他に何か?
ご提案いただきありがとうございます。
アンドリウス
php - PHPCodeSnifferinclude_onceエラー
PHPCodeSnifferをOSXMountain Lionにインストールしようとしていますが、奇妙な問題が発生しているようです。
'phpcs'を実行すると、次のエラーが発生します。
ファイル/usr/lib/php/pear/share/pear/PHP/CodeSniffer/CLI.phpが存在するため、混乱しています。
java - カスタムルールを使用してソナーに違反が表示されない?
コードのレビューと分析のために Sonar を統合しようとしています。私はtypo3で作業しているので、次のルールをrules.xml
コード分析で違反が見つからない場合は、助けてください???
phpstorm - PHPStorm を使用した CodeSniffer でエラーが発生する
PHPStormを使用してWordPressプロジェクトに取り組んでいます。コードを美しくするために、WP 用の次の CodeSniffer ルールをダウンロードし、プロジェクト フォルダーのビルド ディレクトリに配置しました: https://github.com/mrchrisadams/WordPress-Coding-Standards
ここで、PHPStorm を ruleset.xml を使用するように設定すると、次のエラーが発生します。
また、独自の ruleset.xml を持つ Drupal に基づく別のプロジェクトにも取り組んでいます (同時にではありません)。問題なく動作します。
誰かその種の問題を知っていますか?