Skip to content
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

コーディングスタイル #149

Open
Fiberalph opened this issue Jan 5, 2016 · 3 comments
Open

コーディングスタイル #149

Fiberalph opened this issue Jan 5, 2016 · 3 comments

Comments

@Fiberalph
Copy link
Contributor

コーディングスタイルは何かを手本としておりますか?
良ければ、機能把握も兼ねて、「PHP-FIG」の『PSR-x』を参考にチクチク修正していこうと思いますが、いかがでしょうか?

@yama
Copy link
Member

yama commented Jan 5, 2016

http://sawara.me/system/953/
特にこだわりはないんですが、MODXのコードが整理されてなかった頃に、数十~数百行くらいに及ぶ長いブロックを分かりやすくするために、オールマンスタイルを参考にコードを整形しました。今はそこそこ整理できているので、コミッターさんの好みで自由に組み換えていただけたらと思います。
部分的には、詩を書くような感じでリズミカルな見た目に揃えて分かりやすく工夫してみたりすることはあります。あまり理屈っぽく感じさせないように意識しています。たとえば長い変数名を扱う場合は三項演算子を使わないようにしたりしています。

@soushi
Copy link
Member

soushi commented Jan 7, 2016

僕の方はMODXの元のコードがK&Rスタイル風だったのでそちらに大体習ったコーディングスタイルで書いてました。
その後、MODX本家がMODX Revoを作った際に制定したコーディングスタイルに合わせるようにしています。

https://rtfm.modx.com/revolution/2.x/developing-in-modx/code-standards

具体的には今までインデントにTABを使っていたところを最近はspaceに変更したりしています。

というわけで今は中括弧の位置がファイルによって疎らにですね…。
余り厳密にって必要はないですが大まかな指標はあった方がいいかなと思います。
個人的にはMODX本家のルールをそのまま適用したいなと思っています。
…単にK&Rスタイルに慣れているだけという理由ですがw

ただ絶対というわけでもないですし、みんなで決めたスタイルには合わせようと思いますので、ご意見くださいー。

@yama
Copy link
Member

yama commented Jan 19, 2016

https://drupal.studio-umi.jp/blog/Drupal-coding-standards-Japanese
Drupalはどうだったかなと調べてみたらこんな感じでした。実際どう書くかは別として、考え方として共感できる部分がありました。

MODXの場合は、こうすべきというほどではなく、迷った場合はこうしてくださいという緩いガイドにとどめるのがよさそうに思います。使いやすいツールを作るためにはコミッターのモチベーションが不可欠なので、細かいことにはこだわらず、各コミッターの考え方や好みを尊重して協調してやっていけたらと考えてます。

各コミッターさんの個性ってのもあって、この人はスタイルにはあまりこだわってなさそうなので自分が代わりに各部をすっきり揃えてあげようってこともあるでしょうし、逆に、スタイルにこだわってる感じのコミッターさんの書いたコードは、なるべく流儀を合わせてあげるのがいいと思います。MODX以外のプロダクトでは、自分はできるだけそのように臨機応変にしています。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants