タグ付けされた質問 「coding-standards」

2
なぜWordpressのコードはそんなに「スペースハッピー」なのですか?
WPコア、多くのWPプラグイン、およびWPコーディング標準自体は、Space文字の非常に「寛大なアプリケーション」を使用します(インデントではなく、括弧と括弧の「内部」)。これはWordpressに固有のようです-このスタイル/哲学は、他の同様のプロジェクト(PHPなど)には存在しないようです。 このアプローチの詳細については、https://make.wordpress.org/core/handbook/coding-standards/php/#space-usageを参照してください。 例: foreach ( (array) $foo as $bar ) { ... foreachの後、最初のの後、(最後の前の)スペース(および上記のリンクの「スペースの使用法」に示されている他の同様のスペース)を参照しています。 このスタイルは私には不要なようです-それはより多くのタイピングを必要とし、(意見)コードを視覚的に解析することをより困難にします。(/意見) 私の願いは、このスタイルが良いアイデアであるかどうかを議論することではありません。むしろ、単にこれが推奨スタイルである理由の動機を理解したいだけです。WPコーディング標準に関するコメンターでさえ興味があります。 MK Safiの質問に対する回答は、基本的に次のとおりです。 読みやすくするために 現状(別名「それはあるがまま」) 私が尋ねる理由は、私たちの内部専用プロジェクトでWPコーディング標準(「スペース使用量」に関して)を採用することに個人的にあまり価値がないことです。ただし、何かが足りない場合は興味があります。 Wordpressの「スペース使用量」スタイルに従うことについて、上記の2つを超えて、表面上は有効であるかどうかの理由はありますか?


4
名前空間クラスのファイルに名前を付けるにはどうすればよいですか?
WP Core Handbook> PHPコーディング標準>命名規則では、クラスを使用してファイルに名前を付ける場合、次のことを推奨しています。 クラスファイル名は、クラス名のclass- 前に付加し、クラス名の下線をハイフンに置き換えたものに基づいている必要があります。たとえば、次のようにWP_Errorなります。 class-wp-error.php このセクションの文言から、それは主にコアでの使用を目的としていますが、コーディングスタイルは全体として一般に(そして私の意見では)サードパーティのWPコードに適用されます。 ただし、コアは名前空間をサポートしていないため(PHP 5.2、うーん)、これはそのような場合を考慮していません。 開発者の利便性の観点からそれを実現する実際的な方法は何ですか?オートローダーのサポート? 私は複数の代替方法を見ることができました: 名前空間を完全に無視する ファイル名に名前空間を含める 名前空間をフォルダレベルとして使用する PSRなどの代替命名スキームを完全に使用する

1
例外vsエラーオブジェクトvs単なるfalse / nullを使用する場合
私はプラグインを作成中であり、エラー処理の異なるアプローチをいつ使用するかを判断しようとしています。 私が検討している3つの方法があります: 例外のスロー(カスタムクラス) エラーオブジェクトを返す(WP_Errorの拡張) null / falseを返すだけ 私が考えているいくつかの状況 存在しないレジストリに保存されているオプションを取得または設定しようとしています メソッドに無効な値を渡す(まれなはずです) クラスのオーバーローダーが解決できないメソッドを呼び出す 提案?WordPressプラグインの作成には特別な考慮事項があるため、これを一般的なPHPボードで質問する価値があるかどうかはわかりません。

3
サンドイッチコーディング標準
私は最近、WordPressテンプレート用のwp-lunch.phpファイルのコードを見つけました。適切なWordPressコーディング標準に従っている場合、これはどのように見えますか? <?php if ( current_user_can('has_sandwich') ): ?> <?php get_sandwich_header(); ?> <?php while( has_filling() ): the_filling(); ?> <?php get_sandwich_part( 'thick_layer', get_filling() ); ?> <?php endwhile; ?> <?php get_sandwich_footer(); ?> <?php endif; ?>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.