ソフトウェア工学

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

5
仕様をBDDスタイルで記述する場合、「should」を使用する必要がありますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 3年前に閉店しました。 私はこれが多少主観的であることを理解していますが、どちらかの良いケースを見つけることができません: 「何かをする必要がある」 「何かする」 推奨スタイルの支持者は、それがあなたが達成しようとしていることを実際に質問することを強制するが、批判者はそれを単に冗長であると感じていると述べている。 これについてコンセンサスがありますか、それとも純粋にスタイルの問題ですか?
12 testing  bdd 

12
最初のプログラミング言語としてのアセンブリ?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 4年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け付けていません。 最初のプログラミング言語としてアセンブリ(ある種のバリアント)を教えることはどれほど良い考えだと思いますか?たとえばJavaやPythonを学習するよりも多くの労力がかかりますが、「少なくとも1日のプログラミング」(少なくとも多くの高レベル言語と比較して)から多少なりともマシンを十分に理解できます。どう思いますか?少なくとも余分な努力をする準備ができている人にとって、それは現実的なアイデアですか?長所と短所? 注:私は教師ではなく、ただ好奇心が強い

5
言語指向プログラミングは実用的ですか?
言語指向プログラミングに関するこの記事を読みました。彼は、プログラミングに対する最新の手続き型/ OOPアプローチの弱点を指摘し、それらを解決する新しいプログラミングパラダイムを提案します。 私は小さな、疎結合のプログラムパーツに賛成です:ほんの少しだけ使用するいくつかの大きなことより、使用するすべての小さなことを学ぶ方がはるかに優れています。 記事を読んで、著者が次の2つのいずれかを推進しているという印象を受けました。 簡単に作成できる多数のスクリプト言語 プログラマのニーズに合わせて自分自身を書き換えることができる、単一の簡単に拡張可能な言語 彼が2番目を提案している場合、私は「もうやった!」と答えます。そして、例としてLispを与えます。ポール・グラハムが示唆するように、言語はとにかくこれに向かって絶えず動いているようです。 最初のものに関する限り、それらをすべて結び付ける基礎となる言語がある場合、これは良いアイデアだと思います。それは私にとって弱点であるように思えます:言語間のコミュニケーション。プロセス間通信を思い出させる手続き型の概念またはメッセージの受け渡しである呼び出しを使用しますか?すべての言語を同時に使用するのが簡単な場合は、小さなドメイン固有の言語で作業する機会を歓迎します。このアプローチ(LOP)は実用的でしょうか?

5
GPL依存関係の結果は何ですか?
会社用のソフトウェアを開発していますが、GPLライセンスの下でいくつかのライブラリを使用したいと思います。 結果はどうなりますか?これらのGPL依存関係の上で開発されたコードもGPLの下にあるということですか?これらの製品のソースコードを公開する義務はありますか?
12 licensing  gpl 

10
プログラミングツールのコマンドラインバージョンを学習するタイミング [閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 ほとんどすべてのプログラミングツールにはコマンドラインバージョンがあります。その多くにはGUIバージョンもあります。コマンドラインバージョンのさまざまなコマンドとさまざまなオプション/スイッチを学習するには、多くの時間と暗記作業が必要です。 そこで、いくつか質問があります(必ずしも相互に排他的ではありません)。 1)GUIバージョンでも提供されるツールのコマンドラインバージョンでコマンドを学習/記憶するのはいつですか? 2)のコマンドラインバージョンを学習する必要があるツールは何ですか?....コンパイラ?バージョン管理システム などなど

5
高い基準は必然的にフラストレーションをもたらしますか?
私は自分自身をプログラミング言語愛好家だと考えています。悪いコード、特に自分のコードを見つけると、理解しにくく、変更しにくく、テストするのが難しくなります。 私の同僚はよく知りません、または気にしません。自分でコードの品質を上げることができないことに不満を感じています。 コードの品質と保守性が自分の基準に達していないときに不満を感じるのは普通ですか?もしそうなら、どのように対処しますか?

4
クロスプラットフォームのGUIツールキットの傾向はありますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 現在、クロスプラットフォーム GUIフレームワークの使用傾向はどのようなものですか?クロスプラットフォームフレームワーク(GTK +、Qt、wxWidgetsなど)を使用し始めている人は増えていますか?多かれ少なかれ停滞していますか?ジェットコースターのようなものですか?5年後のトレンドはどうなると思いますか? OSの状況は、Windowsを使用する人が少なくなりつつあります(個人的な観察)。これにより、クロスプラットフォームツールキットの需要が増えるはずです。 編集:また、もしそうなら、どの(クロスプラットフォーム)ツールキットが最も成長していますか?

4
依存性注入への段階的なアプローチ
私は、依存性注入を使用して、クラスをユニットテスト可能にすることに取り組んでいます。しかし、これらのクラスの一部には多くのクライアントがあり、依存関係を渡すためにそれらすべてをリファクタリングする準備がまだできていません。だから私は徐々にそれをやろうとしている。現時点ではデフォルトの依存関係を維持しますが、テストのためにそれらをオーバーライドできます。 私が考えているアプローチの1つは、すべての「新しい」呼び出しを独自のメソッドに移動することです。たとえば、 public MyObject createMyObject(args) { return new MyObject(args); } 次に、単体テストでこのクラスをサブクラス化し、作成関数をオーバーライドして、代わりに偽のオブジェクトを作成します。 これは良いアプローチですか?欠点はありますか? より一般的には、テストのために依存関係を置き換えることができる限り、ハードコードされた依存関係を使用しても大丈夫ですか?私は、コンストラクタで明示的にそれらを要求することが好ましいアプローチであることを知っており、最終的にそこに到達したいと思います。しかし、私はこれが良い最初のステップかどうか疑問に思っています。 私に発生した欠点の1つは、テストする必要がある実際のサブクラスがある場合、親クラス用に作成したテストサブクラスを再利用できないことです。実際のサブクラスごとにテストサブクラスを作成する必要があり、同じ作成関数をオーバーライドする必要があります。

5
コーディング標準の均一性が高すぎる可能性はありますか?
均一性が大きすぎるということはありますか?私が仕事をする場所には、命名規則、アーキテクチャ、活用するフレームワークなどを含む標準があります。しかし、最近、より多くのスタイルを検討することについて多くの批判がありました。 たとえばif、複数行と1行でステートメントを記述する場合、たとえばの??代わりにc#null結合演算子を使用して== null、インデントなどのスペースの量を指定します。 私はこれが個人的なスタイルの選択にもっと入り始め、チームや会社全体で均一である必要はないようです。ある人が他の人がより明確に読むと考えるものはそうではないかもしれません。この「余分な」均一性に価値はありますか?

6
C#を学び、わだちにこだわった[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 私は約2/3ヶ月C#/。NET 4.0を学んでおり、最初の本格的なプログラミング言語です(PHP、HTML、CSS、JavaScript、およびVBAを以前に見てきましたが、決して深く掘り下げたことはありません)少し立ち往生し始めます: 「大きな」プロジェクトが不足しているため、学習の限界に達しました... 複雑なプロジェクトに取り組んでいないことが、自分の能力に疑問を投げかけています... 2週間前、私はジュニアプログラマーの仕事の面接を受け、私の答えられたほとんどの質問に答えることができました。行う! 前に言ったように、私はオープンソースプロジェクトに貢献するつもりはありませんが、どこから始めればいいのかわかりません。「大きな」プロジェクトには良いコーダーだけが必要だと思います:( 私が現在どのくらい「良い」(または「悪い」)かを示すオンラインプログラミングテストの形式はありますか?:) 助けてくれてありがとう。

2
(サードパーティの)データベースに重要なデータを保存する
データベースにSSN、クレジットカード番号、住所などの重要な(プライバシーに関する)ユーザーデータをどのように保存しますか? シナリオ: 使用可能にする必要があるデータのみが保存されます。たとえば、SSNが保存されるのは、アプリがSSNを使用して特定のレコードを識別するためです。ワンクリックトランザクションを可能にするためにクレジットカードの詳細が保存されます。そのようなデータの一部は暗号化して保存できますが、一部のデータはプレーンテキストで使用できる必要があります(フルテキスト検索など)。アプリはサードパーティのホスティングを使用します。 質問: HostGatorやApp Engineなどのサードパーティのホストでは、プレーンテキスト(またはその他)のデータはどの程度安全ですか? そのようなデータをサードパーティのホストに保存しますか(そして、このプラクティスは推奨されますか)? プレーンテキストで保存しますか、またはそのようなデータを暗号化しますか? 独自のサーバーを所有するリソースを持っている企業のみが、そのようなアプリの構築に進むべきでしょうか?

5
コーディング標準の進化、それらにどのように対処しますか?
既存のコードベースのプロジェクトのコーディング標準/スタイルガイドの進化にどのように対処しますか?あなたのチームの誰かがプログラミング言語でオブジェクトのインスタンス化のより良い方法を発見したとしましょう。古い方法が悪いことやバグがあるということではなく、新しい方法のほうが冗長でなく、はるかにエレガントだと感じるだけです。そして、すべてのチームメンバーが本当に気に入っています。既存のコードをすべて変更しますか? コードベースが約500.000行以上のコードであるとします。それでも既存のコードをすべて変更しますか?それとも、新しいコードのみを新しい標準に準拠させますか?基本的に一貫性を失いますか? プロジェクトのコーディング標準の進化にどのように対処しますか?

5
どのようなHRポリシーがあなたが熟練したプログラマーを見つけることを妨げていますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 面接プロセスでは、候補者にプログラミングテストとプログラミング設計の問題を与えます。 私たちの人事部は、法的懸念のためにプログラミングテストの管理を停止するように指示しています。これは、候補者を選別する当社の能力を本当に妨げます。 有能なプログラマーの雇用を妨げる他の人事ポリシーはありますか?
12 interview 

3
NUnit for C#とVisual Studioに統合された単体テスト機能との違い
チームで協力して、C#.NETを使用して開発された中規模のデスクトップアプリケーションを開発する必要があります。これに先立ち、私は単体テストとテスト駆動開発を適用していません。ユニットテストC#アプリケーション用の多くのツールとフレームワークが存在することを認識しています。今のところ、NunitとVisual Studioに統合された単体テスト機能を知っています。 知りたいのですが、この2つはどのように比較されますか?

7
HTML5 / JSは最終的にすべてのクライアント側言語を置き換えますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 私はすべての将来について疑問に思っています。私見、テクノロジーの行き先を定義する4つの力があります:マイクロソフト、アップル、グーグル、アドビ。 AppleのiPhone / iPadではiADをHTML5でプログラムできるようになりました。それでは、HTML5が最終的にObjective-Cに置き換わることを意味するのでしょうか? また、Microsoftは現在、その焦点をWPF / SilverlightからHTML5にシフトしており、Visual Studio 2011はHTML5のツールサポートに関するものだと思います。それはマイクロソフトが行うことだからです。(ツール)。数か月後のIE9では、最後の主要なブラウザーがHTML5をサポートします。 同様に、アドビはHTML5の時流に乗っており、最新のツールでFlashコンテンツをHTML5にエクスポートできます。 そして、Googleがhtml5でどれだけのベッドにいるのかを知っています。ちなみに、最新のオペレーティングシステム(Chrome OS)は、太ったWebブラウザに他なりません。 モバイル向けアプリ(iPhone、Android、WM7など)は、特に多くの異なるデバイス(それぞれが独自の言語)向けにプログラムするのが企業にとって非常に難しいため、これは長続きしないと思います。つまり、HTML5が統一言語になります。これは、ユーザーがWeb上で「クールな」html5アプリを無料でプレイできるようになり、料金を請求するのが難しくなるため、アプリ開発者にとってはやや悲しいことです。 それで、強く型付けされた言語は本当に運命にあり、将来、たとえば5-10年で、クライアント側のプログラミングはHTML5のみになりますか?私たち全員がjavascriptプログラマーになりますか?:)標識は確かにそのように指しているので...

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