ソフトウェア工学

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

10
通常、クラスのリージョンをどのようにレイアウトしますか?
クラスの地域をレイアウトするための標準があるかどうか疑問に思っていました。 私は現在使用しています Fields Constructor Properties Public Methods Private Methods FieldsプライベートプロパティでありProperties、パブリックプロパティであること。通常、必要に応じてその中のサブリージョンを使用します。または、他のリージョン(インターフェースやbaseClassメンバーなど)を時折追加します。

8
ソフトウェアの正式な方法を学んだ場合、それはどれほど有用ですか?
プログラミングのための正式な方法(FM)の使用に関するトレーニングを受けている場合: あなたはそれをどれほど便利に見つけましたか? FMトレーニングには何が含まれていましたか(コース、本など)。 どのFMツールを使用していますか? FMを使用しない場合と比べて、速度/品質の面でどのような利点がありますか? FMでどのようなソフトウェアを作成しますか? そして、FMを直接使用しない場合、少なくとも学ぶ価値はありましたか?? 私はこのコミュニティで見られるようなFMに関する多くの経験/意見を聞きたいです。私はそれについて読み始めており、もっと知りたいです。 バックグラウンド プログラミングとソフトウェア開発/エンジニアリングは、地球上の最新の人間のスキル/職業の一部です。そのため、当然のことながら、フィールドは未熟です。これは、通常遅れてエラーが発生しやすいコードとしてフィールドのメイン出力に表示されます 業界の未熟さは、平均的なコーダーとトップのコーダーの間の生産性の大きなマージン(少なくとも10:1)によっても示されます。そのような陰惨な事実は文献で十分にカバーされており、Steve McConnellのCode Completeなどの本で紹介されています。 エラーの根本的な原因(プログラミングの数学的厳密性の欠如)の1つに対処するために、ソフトウェア/ CSの主要人物(E.ダイクストラなど)によって正式な方法(FM)の使用が提案されています。たとえば、ダイクストラは、プログラムとその証明を一緒に開発する学生を提唱しました。 FMは、米国に比べてヨーロッパのCSカリキュラムではるかに普及しているようです。しかし、過去数年間で、新しい「軽量」FMアプローチと合金のようなツールが注目を集めています。それでも、FMは業界で一般的な使用法とはほど遠いので、ここでその理由についてのフィードバックを期待しています。 更新 現在(2010年10月14日)、以下の6つの回答のうち、「現実の世界」でのFMの使用について明確に主張している人はいません。誰かができるかどうか、私は本当に興味があります。あるいは、FMは、学界(FMは未来です!)と産業(FMはほとんど役に立たない)の違いを実際に示しています。

19
理想的なプログラミング言語の学習シーケンス?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 どう思いますか?今日、頻繁に使用されるほとんどの言語とパラダイムを網羅し、一般的なプログラミングの基本、アイデア、および実践を把握するのに役立つ理想的なプログラミング言語学習シーケンスは何ですか?言語ではなく、パラダイムの学習シーケンスを提案することもできます。 注意:これは、私がstackoverflowで尋ねた質問のポートであり、主観的で議論的であるため閉じられました。

5
VS 2010のパフォーマンスを向上させるために何かできますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 .Net 4でアプリを開発しているので、VS 2010を使用していますが、パフォーマンスが私を夢中にさせています。しばらくIDEを表示しないと(ヘルプデスクの呼び出しのために引っ張られたり、午前中に来たりした場合など)、ほとんどの場合に問題があります。 おそらく未使用時にリソースをアンロードするWPFに組み込まれていることに気付きますが、すべてをバックアップしてロードするまでの数分の遅延は本当に面倒です。また、ファイルを開いたりコンパイルしたりするときにかなりの遅延が発生することに気付きました。

1
プログラミング文化、特に80年代/ 90年代初期の書籍とストーリー[非公開]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 4年前に閉鎖されました。 この投稿はコミュニティWikiです。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答は受け付けていません。 私は、80年代、90年代にハッカー文化とソフトウェアビジネスを営むことについて多くの(フィクション/ノンフィクションの本)を楽しんできました。なんらかの理由で、当時は非常にエキサイティングでした。例は次のとおりです。 Microserfs(Douglas Coupland) 偶然の帝国(ロバートX. Almost Pefect(WE Peterson、オンライン!) Coders at Work(ピーターザイベル) 今日、私は起業家でありプログラマーです。80年代に戻って、私はDOS TSRをハッキングし、GWBasic / QBasicをコーディングしている若いオタクでした。90年代、私はCSの大学生で、世界中でインターネットの台頭を経験しました。 これらの本を読んでいるとき、ソフトウェアビジネスを営んでいるのは、今日よりもずっと楽しそうに見えました。以前は非常にシンプルで、機会はどこにでもあり、スタートアップは現在のすべてのWeb 2.0ソーシャルネットワーキングトイよりもはるかに現実的な問題(スプレッドシートの発明、6つの異なるプラットフォームでのアセンブリでのワードプロセッサの作成)で動作するように見えました。 誰もがこれらの感情を共有していますか?誰かが当時の良い(個人的な)物語を持っているか、読むべき他の良い本を知っていますか?
17 books  history  culture 

8
ローカルの「ユーザー」権限は十分ですか、または開発者はコーディング中にローカル管理者またはパワーユーザーを必要としますか?
オフショア開発チームには、企業のデスクトップにナンセンスソフトウェアをインストールするという習慣があり(職務とは関係ありません)、ローカル管理者権限を削除することを検討しています。 ローカル管理者、またはローカルパワーユーザーはVS2010の要件ですか?昇格した権利なしでどのように実行しますか?どの問題に遭遇しますか?

9
プログラマーはテスターがテストを設計するのを助けるべきですか?
プログラマーは、テストを設計する際にテスターをどれだけ助けるべきですか? 私は彼らがまったく助けになるとは思わない。私の心配は、彼らがテスターが彼ら自身のコードのためのテストを設計するのを助けるならば、彼らが彼らの自身の偏見とそのコードに関する盲点でテスターに​​「感染」するだろうということです。 テスターがテストを作成するために必要な情報を提供するには、要件が十分でなければならないと感じています。プログラマーが気になる実装の一部がある場合、ユニットテストを実装してその部分をテストするか、独自の非公式のシステムテストを実行してその部分をテストすることは彼らの義務だと思います。 しかし、私が知っている誰もがこれに同意しているわけではありません(そして、ある程度彼らのポイントを理解しています)。他の人はこれについてどう思いますか?これはどこでも文献で議論されていますか?
17 team  testing 

6
コードコメントにタイトルを書きますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 私が書いたいくつかの古いコード(大学の1年目)を参照していたときに、コードのさまざまな部分の前にコメントタイトルを書くことに気づきました。のようなもの(これはモノポリーゲームから): /*Board initialization*/ ...code... /*Player initialization*/ ...code... /*Game logic starts here*/ /*Displaying current situation*/ ...code... /*Executing move*/ ...code... /*Handle special event*/ ...code... /*Commit changes, switch to next player*/ ...code... これは冗長であり、コードが非常に明確であれば間違いなく不要かもしれませんが、ファイルをスキャンしてみると、実際のコードをほとんど見ていなくても、何が起こっているのかを知っているように強く感じました。特定の状況でこれが適切であると私は間違いなく見ることができるので、これをしますか?それは良い考えだと思いますか?それとも多すぎますか?

10
アプリケーション設定を保存する最良の方法
Windowsでは、デフォルトの方法はレジストリです。これにより、システム全体の設定とユーザーごとの設定を区別できます。 Unixでは、システム全体の設定に/ etcフォルダー内のテキストファイルを使用する必要があります(ユーザーごとの設定の規則は何ですか?)。 多くの新しいプログラム(特に、移植用に設計されたプログラム)はXMLファイルを使用します。 非BLOB設定を保存する最良の方法(および場所)は何ですか? 各システムのデフォルトに従うか、統合ソリューションを使用する必要がありますか? そして、最高のポータブルな方法は何ですか?


9
深いインデントを防ぐ方法は?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 閉じた3年前。 コードの深いインデントを防ぐために、どのような手順と対策を講じることができますか?

4
スコープクリープの管理方法
多くの場合、追加の機能を実装することを求める直前のリクエストをビジネスから受け取ります。通常、プロジェクトマネージャーはこれらの要求を「必要」または「必要」として除外する責任がありますが、ビジネスがこれらすべての機能をリリースに絞り込みたい場合があります。ビジネスにノーと言う良い方法はありますか?スコープクリープを停止または最小化するには、どのような手順を実行できますか?

4
プログラマーのオープンソースプロジェクトに参加するのに適切なタイミングはいつですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 プログラミングの新人のほとんどは、プログラミングから始めるための基本的なプロジェクトから始まります。ほとんどのC ++プログラマーは、パズルやコンテストに時間を費やしていますが、これは必ずしも役立つとは限りません。時には、実際のプロジェクトに時間を費やす必要があります。あなた自身のオープンソースプロジェクトを開始することは、あなたのコードを見て提案することができないメンターや仲間が不足しているという初心者の原因の自己学習の問題になる可能性があります。オープンソースプロジェクトはこの問題を解決できますが、一部のプロジェクトは新しいプログラマーに最適です。誰もがいくつかの点で初心者です。それで、私は初心者の観点からこの質問を少ししてみます。 私は次のようにこれを尋ねる前に、スタックオーバーフロー上のいくつかの質問をしようとした私は参加するにはどうすればよい&ベアあなたが必要とする最低限のとどのようにオープンソースに参加すると、プログラミングのレベルなどしかし、それはスキルを自己評価することになると、これは私を助けていません。それを見つける方法は?オープンソースプロジェクトに参加するために必要なものをどのように確認できますか?巨大なソースコードなどに本当に快適ですか? 私の質問は、オープンソースプログラミングに参加するのに快適だと思うときですか?オープンソースの大小プロジェクトの負担を負う準備ができていることをどのようにテストするのでしょうか?バージョン管理/他のプログラマ/厳しいスケジュールなどで作業できるかどうかを確認するには、どのように自分をテストしますか?

4
クラスファイルとインターフェイスファイルを整理するにはどうすればよいですか?
OK ..すべての議論の後、私が扱っている具体的な例をより良く反映するために質問を少し変更しています。 私は2つのクラスModelOneとを持っていますModelTwo。これらのクラスは同様のタイプの機能を実行しますが、互いに無関係です。しかし、私はCommonFunc両方ModelOneで実装されているいくつかのパブリック機能を含む3番目のクラスをModelTwo持っていDRYます。2つのモデルはModelMainクラス内でインスタンス化されます(それ自体はより高いレベルなどでインスタンス化されますが、このレベルで停止しています)。 私が使用しているIoCコンテナはMicrosoft Unityです。私はそれの専門家であるふりはしませんが、インターフェイスのクラスとコンテナをクラスに登録し、具体的なクラスが必要な場合は、特定のインターフェイスに一致するオブジェクトをIoCコンテナに尋ねることです。これは、Unityからインスタンス化するすべてのオブジェクトに対して、一致するインターフェイスが必要であることを意味します。各クラスは異なる(重複しない)機能を実行するため、これは、インターフェイスとクラス1の比率が1:1であることを意味します。しかし、それは私が書くすべてのクラスのためにインターフェースを慎重に書いているという意味ではありません。 したがって、コード的には2になります。 public interface ICommonFunc { } public interface IModelOne { ICommonFunc Common { get; } .. } public interface IModelTwo { ICommonFunc Common { get; } .. } public interface IModelMain { IModelOne One { get; } IModelTwo Two { get; } .. } public …

4
ローカライズはどこで行うべきですか(サーバー側またはクライアント側)?
現在、サーバー上の複数のREST Webサービスと通信するリッチJavaScriptクライアントに基づいた新しいWebアプリケーションを開発しています。そのアプリケーションは、異なる言語を持つ少なくとも2つの国で使用することを目的としているため、ローカライズする必要があります。 私の質問は、ローカライズをどこで管理する必要があるかということです。RESTサービスは、ローカライズされたデータを使用してリクエストを受信し、回答を送信する必要がありますか?

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