問題タブ [standards]
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.
asp.net - ASP.NET サイト、外部の設計会社と標準を採用
おい。大規模な ASP.NET Web サイトを構築しており、外部の会社に設計 (CSS + プロトタイプ ページ) を依頼しました。デザインをページに合わせる際に、ASP.NET の動作がまったく考慮されていないことを示す多くの問題が見つかりました。私の質問は、ASP.NET サイトになるものを作成する設計会社が使用する共通の標準 (使用する必要がある) はありますか?
次のようなことがわかりました。
- CSS/JS の HTML 要素で ID を使用して検索しますが、これは ID を生成するサーバー タグでは機能しません。
- ハイフンを含む ID
- ASP.NET とはまったく異なるスタイルで構築された ValidatorSummary の例。
- すべてのボタンが <input> タグであるという仮定
- <div> のマージン スタイル、パネルの使用を妨げる
最初の例が問題です。残りは都合の悪い誤解です。いつものように、厳しい時間の制約があるので、「修正する/デザイナーに見てもらう/回避する」というこの海の中で、私は主に、ほとんどのことを止めるいくつかの基本的な構成要素があることを望んでいます.これらの問題が起こらないようにします。
設計会社は大きく、その背後には大規模なサイトの仕事がかなりあります。そのため、悲しいことに、「ワンマンショップを雇わないでください」という知恵は、この場合のチケットではありません...
[アップデート]
外部の Web デザイン会社を雇う立場にあり、初期のコラボレーションの余裕があり、ASP.NET の要件を満たすギャップを埋める手助けをしたい場合は、現在のガイドラインのリストをご覧ください。追加する必要があると思われる場合は、以下にコメントしてください。
- 各ページを <form> タグでカプセル化し (つまり、<body> タグの直後に配置)、
<form>
ページで他のタグを使用しないでください。 ページ検証エラーの概要を表示するには、次の形式の例をレンダリングしてください。
<div class="error_class">
<h3>
次のフィールドを確認してください</h3>
<ul>
<li>
自宅の電話番号</li>
<li>
姓</li>
</ul>
</div>
- ID または名前のプロパティからスタイルを駆動することは避けてください。
- オンとオフを切り替える必要がある HTML コンポーネントがある場合、これらのコンポーネントを
<div>
要素にカプセル化して、div の可視性を「false」に設定できるようにする必要があります。 - ボタンをスタイリングする場合は、
<input>
タグと<a ... class="example_class">
<span>
ボタン テキスト</span>
` フォーマットの両方に対応してください。 - クラスレス
<div>
および<span>
タグに属性を設定することは避けてください。 - ご理解いただきありがとうございます。
c# - コーディング標準の実装と施行
私のチーム (私はその中で最も新しく、最も若いメンバーです) は、わずか 1 年で 3 人の開発者から 9 人の開発者に増えました。私たちの主要な製品は複雑さを増しており、Silverlight への 1 年にわたる移植/再書き込みに着手しようとしています。過去には、強制された特定のスタイル/標準はありませんでした。
私は上司に、今こそそのような基準を導入する良い機会だと提案しました。IDesign のドキュメントを彼に渡したところ、彼はそのアイデアを気に入ってくれました。彼には2つの懸念があります。
これは吸収すべき大きなドキュメントです。ここでの私の考えは、IDesign 標準が「マスター」であり、スリム化されたバージョンでカバーされていないものはすべて見られるべきであることを理解して、私たちが遭遇する可能性が高い最も一般的なアイテムのスリム化されたチートシートを開発することです。 「マスター」ドキュメントにアップします。
これを強制する最良の方法は何ですか。それは口述しようとする問題ではありません。それは、特定の標準に合わせて開発することに人々を慣れさせることの問題です。チームには、数年前から現在の非標準に向けて開発を行っている人が少なくとも 2 人います。この懸念に対処するために、これらの標準を強制するように構成できるツールがあるかどうか、またはコンパイル時または設計時に標準の「違反」を最小限に警告するツールがあるかどうかを確認したいと思います。Microsoft の StyleCop を見つけましたが、私が判断できたところによると、これは構成可能ではなく、IDesign の標準と完全に一致しない Microsoft の標準に従うように設定されています。
ツールまたは私が検討しているアプローチに関する意見をいただければ幸いです。
html - iframe は「悪い習慣」と見なされますか?
どこかで、iframe を使用することは「悪い習慣」であるという考えに気づきました。
これは本当ですか?それらを使用することの長所/短所は何ですか?
asp.net-mvc - コントローラーはアプリケーション フローを処理するので、ビジネス ロジックはどこに行くのでしょうか?
私は MVC に非常に慣れていないことを認めることから、この質問を始めます。デザイン パターンは大まかに理解できますが、ASP.NET MVC を調べている今、アーキテクチャの一部が私の先入観に挑戦しています。学ぶことは良いことです。
私は最近、ASP.NET MVC を作成した会社の人々によって作成された学習ツールとして、つまり ASP.NET MVC の表向きのリファレンス アプリケーションとしてOxiteを使用しています。
しかし今日、Rob Conery による Oxiteに関する次のようなブログ記事を見ました。
Oxite チームが決定したことの 1 つは、コントローラーとビューを別のプロジェクトに分離することでした。これは、私が推測できるのは、ビュー ロジックからビジネス ロジックを分離することだけです。コントローラーはアプリケーション フローを処理するためのものであり、必ずしもビジネス ロジックとは限らないため、これは混乱を招く可能性があります。
これは私をループに陥れました。この分離は MVC の信条であり、したがって Oxite 開発者による間違いですか、それとも Rob の意見ですか? ビジネス ロジックがモデルに属している場合、Oxite チームはなぜそれをコントローラーに組み込んだのでしょうか? コントローラーにない場合、ビジネスロジックであるアクションを実行するにはどうすればよいですか?
それに加えて、Rob のようなコメントを考慮して、Oxite を学習ベンチマークとして使用するのは間違いですか?
c++ - 次のオーバーロード/特殊化の動作に対して正しいコンパイラはどれですか?
次のコードを検討してください。
期待される出力は何ですか?「T」またはint?
1つのコンパイラ(AppleのXcode3.1.2のgcc4.0.1)は「int」を出力し、他の2つのコンパイラ(gcc 4.1.2および4.1.3)は「T」を出力します。
foo(int *、int)宣言/定義をfoo(T *、int)バージョンの前に移動すると、すべて「int」が出力されます。この場合のオーバーロード/特殊化の順序は、現在の標準で定義されていますか?
c - strerror_r にはどのサイズを許可する必要がありますか?
The Linux Standard Base Core Specification 3.1と同様に、OpenGroup POSIX.1-2001 はstrerror_rを定義しています。しかし、エラー メッセージに合理的に期待できる最大サイズへの参照が見つかりません。コードに配置できる定義がどこかにあることを期待していましたが、見つけることができるものはありません。
コードはスレッドセーフである必要があります。これが、strerror ではなく strerror_r が使用される理由です。
誰も私が使用できる記号を知っていますか? 自分で作成する必要がありますか?
例
ドキュメントから:
オープン グループ基本仕様第 6 号:
エラー
strerror_r() 関数は、次の場合に失敗する可能性があります:
- [ERANGE]生成されたメッセージ文字列を格納するには、strerrbuf および buflen によって提供されたストレージが不十分でした。
ソースから:
glibc-2.7/glibc-2.7/string/strerror.c:41:
bash - シェル スクリプト テンプレート
新しく作成されたすべてのスクリプトの標準として使用するのに適した bash/ksh スクリプト テンプレートについて、あなたの提案は何ですか?
私は通常#!
、ファイル名、概要、使用法、戻り値、作成者、変更ログを含むコメントアウトされたヘッダーから (行の後に) 開始し、80 文字の行に収まるようにします。
すべてのドキュメント行は、ダブル ハッシュ シンボルで開始する##
ので、簡単に grep できるようになり、ローカル変数名の前に「__」が追加されます。
他のベストプラクティスはありますか? チップ?命名規則?リターンコードはどうですか?
バージョン管理に関するコメント: 私たちは SVN を問題なく使用していますが、企業内の別の部門には別のリポジトリがあり、これがそのスクリプトです。@author 情報がない場合、Q の連絡先を知るにはどうすればよいですか? javadocs に似たエントリを使用することには、シェルのコンテキストでもメリットがありますが、私見ですが、間違っている可能性があります。
css - 厳密な XHTML を使用し、視覚スタイルを CSS に 100% 依存する Web サイトを構築することは実用的ですか?
私はあまりにも頻繁にアカデミックなアプローチを取る傾向があり、自分の開発において厳格な原則に固執する傾向がありますが、現実には、もう少し慎重でなければ、プロジェクトをより早く完了できたはずです. 適切な実用性を見つけようとしています。
私は、(私の言葉で)「コンテンツ構造には厳密に HTML を使用し、残りは CSS マジックに任せる」というサイトを設計するために「禅」のアプローチを取りたいと考えています。これは実際にどれほど実用的ですか?私が遭遇する問題の 1 つは、最初にサイトを開発 (機能するように) し、後で戻って設計したいということです。構造的にサイトの流れをどのようにしたいかはわかっていますが、CSS レイアウト、グラフィックス、またはその他のデザイン要素で遊んでさえいません。ここで正しいアプローチは何ですか?
c - 定数C式はコンパイル時または実行時に評価されますか?
他のプリプロセッサ定数を使用して操作を実行する#defineを作成した場合、実行時にマクロが表示されるたびに最終値が計算されますか?これはコンパイラの最適化に依存しますか、それとも標準でカバーされていますか?
例:
TIMER_100_MSマクロを使用するたびに、実行時に32768/10の操作が発生しますか?
次のことは避けたいと思います。
概要
コンパイラーは、コンパイル時に配列サイズなどを計算するために必要であるため、定数積分式を評価できる必要があります。ただし、標準では、「できる」(「しなければならない」ではなく)としか書かれていません。したがって、脳死したコンパイラだけがコンパイル時に定数積分式を評価しませんが、型にはまらないコンパイラのアセンブリ出力を簡単にチェックすると、それぞれのケースが検証されます。