問題タブ [google-style-guide]
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.
c++ - C ++ Googleスタイルガイドの例を含むサンプルコード?
C ++ Googleスタイルガイドの例を入手するのに適した場所はありますか?
c++ - 定義にアクセスせずにヘッダー ファイルでクラスを使用しますか?
これは、 Google の C++ コーディング ガイドラインからの抜粋です。
定義にアクセスせずにヘッダーファイルでクラス Foo を使用するにはどうすればよいですか?
- Foo* または Foo& 型のデータ メンバーを宣言できます。
- Foo 型の引数および/または戻り値を持つ関数を宣言できます (定義はできません)。(1 つの例外は、引数 Foo または const Foo& に非明示的な 1 つの引数のコンストラクターがある場合です。この場合、自動型変換をサポートするには完全な定義が必要です。)
- Foo 型の静的データ メンバーを宣言できます。これは、静的データ メンバーがクラス定義の外で定義されているためです。
私が気になるのは、2 番目の箇条書きの例外です。これはなぜですか?自動型変換をサポートしたいのに、なぜ完全な定義が必要なのですか?
私の推測では、暗黙的な変換で一時オブジェクトが作成されるため、コンパイラーは宛先タイプの完全な定義を必要としていると思います。私は正しく推測していますか?それ以上のことはありますか?
編集:
私が見ているように、ガイドラインの例外は次のような状況に対処しています:
ここでは、ユーザー定義の暗黙的な変換 (int から A へ) が 1 つだけあり、const & を受け入れるコンストラクターを呼び出します。この例外で意味のある唯一のことは、たとえば int から A への直接変換をサポートし、次に A const & を受け入れるコンストラクターを介して B への直接変換をサポートすることです。これにより、A クラスが存在するヘッダー ファイルを明示的に含める必要なく、クライアント コードがこの変換チェーンを使用できるようになります。宣言した。
c++ - Google スタイル ガイド スクリプトまたはツール
コードのスタイルを google スタイルに変更するスクリプトまたはツールはありますか? 私たちは、Google スタイル標準によってフォーマットされていない C++ レガシー コードの一部を再利用しています。構文的にフォーマットするだけでも、開発者にとっては数時間かかります。
今のところ、いくつかの基本的なスタイルを検索して置換する正規表現をいくつか書きました。
ありがとう
javascript - JavaScriptで「const」構造を使用するのが悪い習慣なのはなぜですか?
書かれた JavaScript の Google スタイル ガイド (リンクを証明) では、「const」構造を使用することは悪い習慣ですが、なぜですか?
javascript - 「中括弧は常にステートメント行にある必要があります」というルールはそれほど重要ですか?
「セミコロンの暗黙的な挿入」は理解していますが、関数式の場合に発生するかどうかはわかりません。
たとえば、次の 2 つの式は常に同じように解釈されます。
私は最初のものを気に入っていますが、Google も気に入っていることに気付きました: http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=Code_formatting#Code_formatting。しかし、私の同僚はこのスタイルに不満を持っていました。関数宣言があっても、この規則に厳密に従うかどうか、またはそれが均一性への賛辞であり、このコードがトリッキーな縮小後に壊れないかどうかという問題が生じますか?
c++ - Googleがメンバー変数の後にアクセサーとミューテーターに名前を付けるのはなぜですか?
http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Function_Names#Function_Names
通常の関数には大文字と小文字が混在しています。アクセサーとミューテーターは、変数の名前と一致します:MyExcitingFunction()、MyExcitingMethod()、my_exciting_member_variable()、set_my_exciting_member_variable()。
カプセル化の要点は、実装の詳細をユーザーから隠して、アクセサー/ミューテーターメソッドがメンバー変数を返す/変更するかどうかをユーザーが認識しないようにすることではないでしょうか。変数名を変更したり、オブジェクト内に格納する方法を変更したりするとどうなりますか?
編集:
インスタンス変数がある場合、int foo_
それは簡単に思えます
しかし、を返す別のメソッドを追加する場合、ifまたは?foo_ + 2
に名前を付ける必要があります。bar
GetBar
GetBar
戻り値を別のメンバー変数にキャッシュすることを選択し、後で決定した場合bar_
、メソッドの名前を?に変更する必要がありbar
ますか?
javascript - Google JavaScript スタイルガイドによるブロック内の関数宣言
Google JavaScript スタイル ガイドによると、これは ECMAScript の一部ではないため、ブロック内で関数宣言を宣言するべきではありません。ただし、ブロックと見なされるものについては完全にはわかりません。
具体的には、コンストラクター関数があり、そのコンストラクターのスコープ内で関数を定義したいと考えています。これは {} のセット内にあるため、ブロック内の関数としてカウントされますか? もしそうなら、それはすべての関数宣言がグローバルでなければならないということですか?
適切な測定のためのいくつかのコード:
違う (?)
右 (?)
css - 大規模な既存プロジェクト用の CSS スタイル ガイドはありますか。または、大規模なプロジェクトの CSS を最適化するにはどうすればよいですか
私は現在、複数のフロントエンドとバックエンドの開発者が参加する大規模なプロジェクトに取り組んでいます。これは基本的に、コア構造は同じだがスタイルとレイアウトが異なるさまざまなブランドを念頭に置いた大規模な電子商取引ソリューションです。
私の質問はこれです:
大規模な既存プロジェクト用の CSS スタイル ガイドはありますか? または、ロジックを失ったり、機能を壊したりせずに、コードを最適にリファクタリングするにはどうすればよいでしょうか?
スタイルは混沌としていて、必死のリファクタリングが必要です。私たちはクライアントからプロジェクトの一部を受け取りましたが、既存のレイアウトとスタイルをスタイルして作業することを余儀なくされました.
一部の部分では、10 世代のセレクターがあり、多くの場合、ジョブを完了するためだけに !important ルールを提供する必要があります。
法的義務のため、コードやサンプルを提供できず申し訳ありません。