- 締切済み
オブジェクト初期化時にプロパティを整列すると引き起こされる問題とは
オブジェクト初期化時にプロパティを整列すると引き起こされる問題とは Google JavaScript Style Guide 和訳 ? Google JavaScript Style Guide 和訳 http://cou929.nu/data/google_javascript_style_guide/#id36 「Google JavaScript Style Guide」では「identifer が長い場合, プロパティを整列させると問題を引き起こす場合があるので, 整列させないようにしてください.」と説明されています。 しかし、私は今まで「視認性が高い」という理由から、プロパティを整列させるコードを書いてきました。 具体的にはどのような問題が引き起こされるのでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10359)
>具体的にはどのような問題が引き起こされるのでしょうか? 原文は、Long identifiers or values present problems for aligned initialization lists, ですね。訳文にある「場合がある」というニュアンスすらなくて、present problemsになってます。 文法的には問題ないと思いますが、可能性としては、identifierとコロンの間に空白があると問題が起こる実装がどこかにあるのではないでしょうか。 仮にそういう実装があったとしても、コロンをidentifierの直後に書いて、その後の空白で整列させれば問題には引っかからないと思います。 いずれにせよ不親切な記述ですね。
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
ファイルサイズが減らせられるとか、それなりにメリットはあると思いますけどね。 特にGoogle Codeは直リンクされることを良しとしていますから、転送データサイズにはシビアだと思います。 世界中の人がGoogle Code(のたった1つのファイル)に同時アクセスすると、ダウンロードに時間がかかる可能性がある ということも考えられます。 > inheritは「Google Codeライブラリ」を使用しなさい。 ・・・そんなことは知ったことではありません。独自の同じ機能を持ったライブラリを使って何が悪いんでしょうか。 と、そういう感じですね。 Googleのやり方では継承しきれない部分があります(ありました。正確にはGoogleではありませんが、それと同じ方法)ので、独自に調べて別の方法で継承させています。 複雑で冗長ではありますが、確実性は高いです。 最新のブラウザではGoogleの方法で問題ないかもしれませんが、最新ブラウザでアクセスしてもらえるとは限りませんから。 スタイルガイド制作背景によると、 > Background > JavaScript is the main client-side scripting language used by many of Google's open-source projects. This style guide is a list of dos and don'ts for JavaScript programs. http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml 「グーグルのオープンソースプロジェクトを使用して作られているスクリプト言語」 とありますが、グーグルだけがJavaScriptではありません。 制作背景にわざわざグーグルの名前を出してくるのなら、グーグルに関連したスタイルガイドと考える方が適切かと思いますが、いかがでしょうか。 少なくともGoogle Codeにアップロードする、予定がある、可能性があるのなら、Googleの指示に従うべきだと思います。
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
Googleにアップロードするときに、Googleの解析ツールが何かしてるんじゃないでしょうか。 たとえばコードをハイライト付きで見られるページがありますが、 <span>か何かを付けるときに、閉じタグをどこに置くかなどの調整で問題が出てくるのかもしれません。 リンクをたどっていったところから。 http://code.google.com/p/closure-library/source/browse/trunk/closure/goog/base.js
お礼
アドバイスありがとうございます。 Google内部の問題ではないか、ということですね。 Google社員ではない人が気にする必要はないのかもしれませんが、やはり少し気になります。 (全てを確認してはいませんが)他のコーディング規約は一般に通用する理由があるのに対して、ここだけローカルルールを書くのは…。 ローカルルールがあったとしてもそれを公開するかな、と疑問に思っています。 > たとえばコードをハイライト付きで見られるページがありますが、 確認してみたところ、掲示されたページでは google-code-prettify を利用しているようです。 検証してみました。 google-code-prettify http://vird2002.s8.xrea.com/javascript/google-code-prettify.html プロパティ整列の有無でハイライト効果に違いはなさそうです。