ソフトウェア工学

システム開発ライフサイクル内で働く専門家、学者、学生向けのQ&A

4
JavaScriptで正確に未定義とはどういう意味ですか?なぜそこにあるのですか?どのような用途がありますか?どのように役立つのでしょうか?
JavaScriptには、undefinedと呼ばれるものがあります。基本クラスなのか、組み込み変数なのか、キーワードなのか、他の何かなのか本当にわからないからです。そこにあることを知っているだけです。 動作を確認するには、次のように書くだけです。 undefined; typeof undefined; この理由は誰も私に説明していただけます事は JavaScriptを挿入されていますか?nullこの言語には価値があるため、のようなものであってはなりませんnull。他の言語では、プロパティまたは変数の値がわからない場合、単にnullに設定します。ここでも同じことができます。 JavaScriptでこのことをどのように使用できますか?

2
Dynamic Language RuntimeとC#4.0の関係は何ですか?
現在の.NETプラットフォーム上に、おそらくSchemeインタープリターである動的言語コンパイラー/インタープリターを作成したいとしましょう。Dynamic Language Runtime(DLR)を使用するか、C#4.0を使用して言語の動的機能を実装する方が良いでしょうか?または、両方が必要ですか? 特にIronSchemeとIronPython に関して、この分野で他の作業が行われたことを知っています。これらの言語は両方ともDLRを使用します。IronPythonはDLRの最新バージョン(約1年前)を使用し、IronSchemeは初期バージョンのDLRの大幅に修正された初期のフォークを使用すると考えています。しかし、これらのコンパイラが作成されたとき、C#4.0は利用できませんでした。 C#4.0の動的な機能を使用したRob ConeryのMassiveでの作業を見てきました。とても印象的です。しかし、C#は動的言語コンパイラ/インタープリターの本格的な努力に耐えるでしょうか?C#にない機能がDLRにありますか、それともDLRは本質的にC#4.0に組み込まれましたか?C#4.0のみを使用した場合、DLRの重要な機能が失われますか?

2
パフォーマンスレビューの指標の一部として継続的なビルド結果を使用していますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 私の上司は、パフォーマンスレビュー(「品質」メトリック)の一環として、継続ビルド(コミットごとにテストをビルドおよび実行)のメトリックを使用することを計画しています。これは私にとって本当に悪い考えのように思えますが、誰かがこれを研究したか、以前に試したことを見たかどうかを知りたいです。 私の考えでは、テストが失敗することを恐れて、開発者が他の方法でテストするほど多くのテストを行わないようにします。彼は貴重な開発者ツールを開発者を打ち負かすための棒に変えていると感じています。 明白な反論は、人々がコミットする前により慎重になることを促進し、それにより品質が向上するということです。 私はここから離れていますか?パフォーマンスのレビューを行うべきかどうかの質問は別としてください。他の場所で回答されています。

10
「数学」関数は数学表記に従うべきですか?
この質問にはすぐに主観的なフラグが立てられると思いますが、どちらが良いと思いますか: double volume(double pressure, double n_moles, double temperature) { return n_moles * BOLTZMANN_CONSTANT * temperature / pressure; } または double volume(double P, double n, double T) { return n*R*T/P; } 言い換えると、いくつかの式を実装する関数は、その式の表記法に従うべきですか、それともより詳細な名前を使用する必要がありますか?


3
MicrosoftによるオリジナルのC#紹介ペーパーはどこで読むことができますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 6年前に閉鎖されました。 2002年にMicrosoftが.NET FrameworkとC#言語を発表したとき、C#を紹介した最初の記事は何でしたか? 他の言語の必要性を説明し、背景を話し、コードサンプルを持っている可能性のある、MSDNまたはMicrosoftのWebサイトで公開されている論文を探しています。 また、一般的な.NET Frameworkドキュメントではなく、元のC#の紹介に興味があります。 私がいることを覚えて、早期の.NET論文はかなり霧だったし、それが再読み込み、それらに楽しいの公正なシェアである一方で、私は言語を中心とした文書を目指します。
11 c#  microsoft  history  msdn 


8
遺伝的アルゴリズムの停止点を定義すると、アルゴリズムの目的が損なわれますか?
ウィキペディアでは、GAの終了ポイントを次のように定義しています。 通常、アルゴリズムは、世代の最大数が生成されるか、母集団に対して十分なフィットネスレベルに達すると終了します。世代の最大数が原因でアルゴリズムが終了した場合、満足のいく解決策に達したかどうかはわかりません。 さて、満足のいくフィットネスレベルに達したときに終了し、あなたがそのフィットネスレベルを定義している場合、特性をすでに知っているので、最初から「完璧な」ゲノムを作成できるのはなぜですか。この完璧なゲノムの? ここで少し混乱していると思います。GAの目的は、常に進化し、考えていたよりもさらに良い解決策を示すことであると考えました。完全な」状態。それはポイントを破壊しませんか?

2
ユーザーテキスト入力に基づいてリストから最も可能性の高いオプションを選択する方法
ユーザーのテキスト入力に基づいてオプションを選択する必要があるOCRアプリケーションで作業しています。 Ex: Available Options: ["python", "ruby", "java", "clojure", "haskell"] Input: kava Output: java Input: ruby Output: ruby Input: clujuro Output: clojure etc.. 私のアプリケーションはPythonベースですが、この問題を解決するためのアルゴリズムがすでに存在しますか?

1
IDE、ライブラリ、および言語のほかに、iOS開発とAndroid開発の主な違いは何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 私はiOS側から来ています。これらの点について、Android側にも同様のハードルがあるかどうかを知ることに特に興味があります。 開発者料金-Android用にビルドするために年間99ドルを支払う必要がありますか? デバイスのプロビジョニング-テスト用のデバイスで開発中のアプリを取得するために、複雑なプロビジョニング/デジタル証明書/デバイスIDルーチンを実行する必要がありますか? マーケットプレイス配布-アプリをユーザーに提供するために承認プロセスを経る必要がありますか? 支払い-アプリの支払いは簡単ですか?Amazonのカットとは何ですか? ありがとう。これらの答えがウェブ上に散らばっているのを見つけることができると思いますが、経験豊富なAndroid開発者の話を聞く時間を節約できます。

2
言語開発フレームワークの使用はどれくらい簡単ですか?
これは、フレームワークの形式で言語設計で使用される概念を抽象化することを目的とする抽象化プロジェクトと呼ばれるプロジェクトに焦点を当てた一連の質問の一部です。 構造タイピングに関連する別のページは、ここで表示できます。フレームワークに関する質問と投稿する適切な場所に関連するメタトピックは、ここにあります。 言語開発フレームワークを使用するのはどれくらい簡単ですか? 大規模なコード生成フレームワークを作成しました。このフレームワークには、言語固有のコンパイラーに結果を送信する機能も含まれています。使いやすさのトピックは、そのようなフレームワークの例の1つです。CodeDOM、またはCode Document Object Modelです。 マイクロソフトによって書かれたフレームワークであり、一般的なコード構造を記述しますが、一般に多くのことを省き(式強制)、特定の構成体の表現では少し抽象的である傾向がありました。 CodeDOM は、使用されるタイプが汎用インターフェイスである場合、PrivateImplementationTypeonの発行を適切に処理しませんCodeMemberMethodでした。CodeDOMは、最初のコードジェネレーターを作成した最初の理由でした。 フレームワークを簡素化するために私がやろうとしていることの1つは、何かをするために必要な作業量を減らし、アクションとそれらのアクションを構成する特定のタイプに焦点を当てることです。 ここに、私が書いているフレームワークがどのように機能するかを並べて比較します。 //Truncated... /* * * From a project that generates a lexer, this is the * state->state transition character range selection logic. * */ var nextChar = nextMethod.Parameters.Add(new TypedName("currentChar", typeof(char).GetTypeReference())); //... char start = rangeElement.B.Value.Start; char end = rangeElement.B.Value.End; …

3
エレベーターのアルゴリズムと実装[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 (実際の)エレベーターの仕組みを知りたかった。しかし、これまでのところ、私は彼らが使用するアルゴリズムに関する多くの資料も、シミュレーション用のソフトウェア(もしあれば)を見つけることができませんでした。誰かが私にその参考文献を教えてもらえますか?

5
「これは単なる小さなアプリケーションになります」という旧式のアプローチ方法は?ええ、その通り?
私はこれに何度も遭遇しましたが、ここではやや誇張された最悪のシナリオがあります。 クライアントは、「この小さなタスクを実行するために、この小さなモジュールを作成してもらえますか」と言います。 私:「問題ない」。 そのため、予算や制約などに基づいて、設計の一部をスキップし、すぐに飛び込み、汗をかかないようにします。 次に、別のモジュールを要求します。そしてもう一つ。そしていくつかの機能強化。そして、これはすべて、長年にわたって非常にゆっくりと起こります。そして、あなたがそれを知る前に、あなたは恐ろしく設計されたこのモンスターアプリケーションを持っています。 何か小さなことをするように頼まれたらどうしますか?それが成長し続けるかどうかはわかりません...クライアントが追加を要求し続けるなら(そして、どちらもしません)。 結局のところ、それは単なる小さなアプリケーションであるため、オーバーアーキテクトすることはできません。あなたが言うなら(私はすべての声を知っているということで) -o-the-lineセキュリティと懸念の分離。実際、このことを本当に素晴らしいものにする、依存性注入ツールを使用してみましょう。 彼らは「そうだ」と言い、他の誰かに行きます。 予算、時間、認識は、アプリケーション自体の設計と同じくらい重要です。 これにどのようにアプローチする必要がありますか? 質問は、「小さなアプリケーションのように見えるものの最終結果に関するすべての情報が得られない場合、アーキテクチャおよび設計の決定を早期に行うことを完全に回避する(または軽減する)方法」後で不適切ですか?

2
分析と設計との違いは何ですか?
「アナライザーが必要」または「デザイナーが必要」というマネージャーの声を聞いたことがあると思います。私は.NET開発者ですが、アナライザーをデザイナー(WebデザイナーやUIデザイナーではない)と区別することはほとんどできません。 アナライザーは誰ですか?デザイナーは誰ですか?それらは重なりますか?

3
汎用プログラミング、業界で使用される頻度
現在、アカデミックな環境でプログラミングを行っているので、好きなものを使用できます。ブーストグラフライブラリをいくつかの目的に使用していますが、GPをより深く理解するための努力に投資する価値があるかどうか疑問に思っています。 私は興味があります-ジェネリックプログラミング(GP)は業界で多く使用されていますか?私の推測では、ほとんどのプログラマーはOOPにはるかに慣れているか、GPを強調またはサポートしていない言語を使用しているため、C ++でSTLデータ構造/関数を呼び出す以外に、GPはそれほど頻繁に使用されないという印象です実際には。しかし、現時点では業界の外にいるので、これについて実務家から聞いてうれしいです。 (私がこれを書いているとき、ジェネリックプログラミングは有効なタグではないことがわかりました!)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.