問題タブ [design-guidelines]
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.
function - ベスト プラクティス: null 引数が渡された場合、"IsValid" ブール関数は何を返す必要がありますか?
bool
引数を取って返す検証関数が与えられた場合、true
またはfalse
いくつかの内部ルールへの引数の準拠に基づいて:
引数がnull
の場合、関数は:
- 戻る
false
- 戻る
true
- どちらも行わず、単純に
ArgumentNullException
例外を発生させることがベストプラクティスであると私は信じがちです。しかし、私は他の人がこのテーマについて経験したことを聞くことに興味があります.
a の唯一の選択を考えるとbool
、私は個人的に return に誘惑されますが、関数の使用のコンテキストに基づいて、false
戻ることにも利点があることがわかります。true
たとえば、ヌル文字列は空として解釈され、有効と見なされる場合があります。
この特定の状況に対するベスト プラクティスのガイドラインはありますか? Code Completeのような本のようなガイドラインを探しています。
常にケースバイケースである必要がありますか?
android - Ripple、colorPrimary、または colorAccent の色は何にする必要がありますか? (マテリアルデザイン)
Material Design Guidelinesを読んだことがありますが、リップルが黒でない場合 (アルファ付き)、リップルの色がどうあるべきかわかりません。
たとえば、colorPrimary = 青、colorAccent = 赤のアプリがあります。実際、私は colorAccent (アルファ付き) を使用しています。リップルとは異なる色の黒が必要な場合は、colorPrimary (アルファ付き) を使用する必要がありますか?
Googleのすべてのアプリをチェックしましたが、色付きの波紋を使用していません.
私が今持っているようなイメージ:
android - パディングとマージンは、Android デザインの 48 dp リズムの下で 4 dp または 8 dp にする必要がありますか?
最近、メトリクスとグリッドに関するデザイン ガイドを読みました。レイアウトで使用する必要がある 48 dp のリズムについて説明しています。
しかし、「マインドギャップ」の章は私を混乱させます。それは述べています:
各 UI 要素間の間隔は 8 dp です。
しかし、この図では:
同じページの例では、8dp と 4dp の両方がパディング/マージンとして使用されています。
では、使用することになっている実際の値は何ですか?
android - 特定のバージョン (KitKat、Gingerbread など) の Android デザイン ガイドラインはどこにありますか?
私は見回してきましたが、当時の GUI がどのように行われていたかを確認できる以前のバージョンの Android のアーカイブを見つけることができませんでした。
アプリケーションを開発していて、その UI を実行中のプラットフォーム バージョンと一致させたいと考えています。
どんな助けでも大歓迎です。
ios - Apple が JPG ファイルを推奨しないのはなぜですか?
Apple のガイドラインによると、すべての画像を png にすることを推奨しています。
PNG で約 1.5 MB、JPG で 150 Kb の大きな背景があります。画像サイズを小さくすると、アプリのサイズを小さくするのに役立ちます。
JPG ファイルを使用できますか。Apple のガイドラインに違反します。
c++ - API 設計: オブジェクト間コピー関数の方向と名前
クラスは、 type のあるオブジェクトから type の別のオブジェクトにT
すべてではなく一部のメンバー変数 (最小限の例: 1 つの variable のみX
)をコピーするメンバー関数を提供する必要があります。からのコピーとへのコピーの 2 つの解決策が考えられます。T
T
あるバリアントを他のバリアントよりも優先する理由はありますか? ガイドライン、ベスト プラクティスの例などはありますか?
関数の名前はどのように付けるべきですか? 理想的な名前は よりもはるかに短いですcopy_(from|to)_other
が、コピーの方向について疑いの余地はありません。
c++ - 機能をファンクターとして実装することの長所と短所
public メソッドが 1 つしかない単純なクラスの API について、同僚と話し合っています。私は最初に行きました:
しかし、私の同僚は operator() の使用に反対しており、わかりやすくするために単にメソッドに「calculate」という名前を付けたいと考えています。その議論に説得力があるとは思いませんが、賛否両論を考えさせられました。
利点 operator()
- このクラスは無駄がなく、明確に定義された目的が 1 つあります。インスタンス化されると、基本的に無料の関数として機能します。
- これはファンクターであり、そのまま簡単に使用できます (例: STL アルゴリズム)。
- 範囲アルゴリズムで使用する場合、関数ポインターを介する代わりにオブジェクトを直接渡すことができます。これにより、コンパイラーはコードをインライン化できます。保証されていませんが、関数ポインターを介して渡すと、この可能性が完全に抑制されます。
デメリット operator()
- クラス名を見ないと、メソッドが何をするかはあまり明確ではありません。(クラスにはメソッドが1つしかないため、その意味はクラス名から明らかであるため、個人的には同意しません)
- STL のほとんどのファンクタは、ステートレスであると想定されています。これが私を引き留めている主な理由だと思います...
これは非常に一般的なシナリオ (1 つのクラス、1 つの責任) であると想定していたため、これに関する私の検索ではあまり出てこなかったことに驚きました。そういうわけで、私は他の人がこれについてどう思うかを聞くことに本当に興味があります.