-
Notifications
You must be signed in to change notification settings - Fork 98
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PHP-CS-Fixer の導入 #996
PHP-CS-Fixer の導入 #996
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #996 +/- ##
==========================================
- Coverage 56.29% 56.23% -0.07%
==========================================
Files 75 75
Lines 8917 9046 +129
==========================================
+ Hits 5020 5087 +67
- Misses 3897 3959 +62
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
6f20c7d は、全て PHP-CS-Fixer による変更ですか? ローカルで bfc9f5d から実行を試したのですが、結果が異なる様子でして。
正しい実行手順を教えていただけますと幸いです。 |
@seasoftjapan
また、 |
テストが落ちているようなので、一旦 Draft に戻します |
未定義変数、連想配列の扱いに難がありそう |
- string_length_to_empty - ternary_to_elvis_operator
a796588
to
dee413e
Compare
@@ -41,7 +40,7 @@ class API_CartAdd extends SC_Api_Abstract_Ex | |||
public function doAction($arrParam) | |||
{ | |||
$this->arrResponse = array( | |||
'Version' => ECCUBE_VERSION); | |||
'Version' => ECCUBE_VERSION, ); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
カンマの後、改行してくれるオプションとか無いでしょうか?
いくつか、気持ちの悪い(中途半端な)印象の整形がありました。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
trailing_comma_in_multiline
が有効になっていると、複数行の配列で、末尾は改行しないパターンでこのようになってしまうようです。
複数行を強制するルールは実装されていないようなので、 trailing_comma_in_multiline => false
にしたいと思います
https://cs.symfony.com/doc/rules/control_structure/trailing_comma_in_multiline.html
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
気持ち悪いですが、それでも今後の Diff を整えられる全体的なメリットを考えると、ケツカンマの徹底は優先して良いと思います。
とは言え、やはり気持ち悪いし、その箇所は Diff を改善できないので、, ]
となる箇所は私が修正しようと思います。どの流れが良いとかありますか?
- https://github.com/nanasess/ec-cube2/tree/php-cs-fixer ベースで修正して PR する。
, ]
となる箇所を master ベースで修正して、https://github.com/nanasess/ec-cube2/tree/php-cs-fixer へ PR する。, ]
となる箇所を master ベースで修正して、master へ PR する。- 別 Issue で後続の対応とする。そのタイミングでルール削除する。
- 本 PR はルールを戻して、
, ]
となった箇所を別 Issue で修正する。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
本 PR はルールを戻して、, ] となった箇所を別 Issue で修正する。
この対応にしましょうかね。
trailing_comma_in_multiline => false
は削除しておきます(@Symfony
に含まれているため)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
trailing_comma_in_multiline => false
は削除して再度 fix しておきました
20138d0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ありがとうございます。
#1017 登録しました。
@@ -125,27 +125,27 @@ protected function getProductsList($searchCondition, $disp_number, $startno, $li | |||
case 'price': | |||
$objProduct->setProductsOrder('price02', 'dtb_products_class', 'ASC'); | |||
break; | |||
// 販売価格が高い順 | |||
// 販売価格が高い順 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
これ、救えないですかね。case のコメントで、case の真上に欲しいです。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
'statement_indentation' => ['stick_comment_to_next_continuous_control_statement' => true]
とすることで対応できそうです。
https://cs.symfony.com/doc/rules/whitespace/statement_indentation.html
が、 composer の依存関係の問題で、現在 php-cs-fixer 3.9.5 がインストールされています。
このバージョンでは上記オプションは未実装のため、利用できないようです。
PHPUnit のバージョンを上げることで、上記オプションも利用できるようになりそうなので、別途対応しようと思います。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
以下 PR 作成しました
#1020
@seasoftjapan ありがとうございます!おおむね対応可能だと思いますので、順次対応していきますね |
2.13.x のソースに対しても同様のルールを適用できそうなので、これを活用すれば旧バージョンからのマージや PHP8 対応も楽にできそう |
- コメント追記 - `single_quote => true` に変更(4系にあわせる) - `concat_space => ['spacing' => 'none']` に変更(4系にあわせる) - `array_syntax => true` に変更(4系にあわせる) - `phpdoc_scalar => true` に変更(phpdoc の int や bool を統一したい) - `data/smarty_extends` 及び `tests` にも適用
dee413e
to
872e0eb
Compare
872e0eb
to
5c6ecce
Compare
@seasoftjapan
各ルールにコメントも入れておきましたのでご確認お願いいたします🙇♂️ |
`, ]` となる箇所は別途修正する see EC-CUBE#996 (comment)
GitHub Actions のエラーは以下 PR で解消予定 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
1点忘れてました。
concat_space => ['spacing' => 'none']
に変更(4系にあわせる)
2系で準拠してきた、Zend Framework PHP 標準コーディング規約と相違するため気になりました。
Laravel 界隈以外では、一般的でない気がするのですが、どうでしょうか?
正直 <sp>.<sp>
と打つの面倒くせーと思うこともありますけどね。
これまで主に読みやすさの観点で推奨されていたと思うので、それこそコーディング中はスペースを省略して入力して、PHP-CS-Fixer でスペースを補ってもらうとかも有りかなと思いました。
@seasoftjapan |
ルールに concat_space を追加したと思いましたが、逆に削除したのですね。で、@symfony に concat_space が設定されていて、デフォルトは 可逆なルールだと思いますし、とりあえずそのスタイルで試してみるのも良さそうですね。 |
strlen($val)
で null チェックしているのを修正するのが主目的