ソフトウェア工学

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

8
開発者として働くのに最適な業界[終了]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 私の契約は終了したばかりで、次に見たい仕事は何だろうと思っています。 私はすべてのキャリア(フォーチュン500の1社を含む)で銀行および保険業界で働いてきましたが、私の経験では、銀行業は厳格なビジネス慣行(これは十分に公平です)のために働くのが最も遅く(かつ最も退屈な)業界です。利点は、彼らがよく支払うことです。 私の質問は: 開発者が取り組む最高の業界と最悪の業界は何ですか?つまり、あなたが働いていた業界で、開発者の観点から見た良い点と悪い点は何ですか(お金、仕事、文化、利益、同僚など)? コンサルタントとして働くことは、業界に対するあなたの意見にどのように影響しますか? 私が退屈に言及したのを見て、どの産業が急速な成長を支えていますか?

4
バグが5年以上前の場合、それは機能ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 詳細の追加を許可します:私は多くのコーダー、テスター、QAアナリスト、製品所有者などがいる施設で働いています。 私たちは、10年以上にわたって、くだらない(かなり機能的ではあるが)ソフトウェアを販売することができました。多くの機能があり、製品は競争力がありますが、そこには深刻なバグがあり、何千もの「ペーパーカット」があります-クライアントが慣れるのに少し面倒です。 コンピューターが私たちの生活を楽にするのに役立たないなら、私たちはそれらを使うべきではないと固く信じているからです。私は同僚に自信を持っています。彼らは賢く、能力があり、それを行うことに焦点が当てられているときに物事を改善することができます。 しかし、古い機能を閉じたり忘れたりすることなくバグを報告することは困難です。「昔のように機能しました」が典型的な答えです。また、QAがリグレッションを行うとき、彼らは、正しくないように見えるものと同じくらい異なるものを探す傾向があります。したがって、古い問題の修正はバグとして書き出すことができます。なぜなら、「それは私の時間よりも前からそうでした」からです。 私の若いコーダーは考えています:このおかしなことを書き直してください!営業に近い機会があったクライアントとして、私はこのアプローチに疑問の余地を与えたいと思います。 あなたの意見/経験にも興味があります。リスク、費用対効果、およびその他の非技術的要因を考慮してみてください。

12
新しいWebサイトに「Twitter / Facebookでサインイン」を使用することの長所と短所は何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 私と友人は小さなフォーラムサイトを立ち上げようとしています。ユーザーのログインに「Facebook / Twitterでサインイン」APIを使用することを検討しています(おそらく、たとえばLanyrdなど)。私はこれらのいずれも以前に使用したことも、ユーザーログインを使用してサイトを実行したこともありません。 これらのAPIの長所と短所は何ですか?具体的には: 開発者としてそれらを使用することでどのような利点が得られますか?どんな欠点がありますか? エンドユーザーは実際にそれらを好き/嫌いですか? これらのAPIで技術的/物流上の問題を特に経験しましたか? ここに私がこれまでに得た長所と短所を示します。 長所 ユーザーにとってより便利です(2回のクリックで「登録」、1回でサインイン) おそらく独自のログインシステムを維持する必要はありません 短所 ログインプロセスを制御できない アカウントへの何らかのアクセスがあることを心配しているFacebook / Twitterユーザーを除外する Facebook / Twitterアカウントが侵害されると、サイトのユーザーアカウントが侵害されます。 独自の代替ログインシステムを維持しない場合: ログインシステムのFacebook / Twitterへの依存 Facebook / Twitter以外のユーザーをサイトから除外する

17
コミットメッセージを書く必要があるのはなぜですか?
コミットメッセージを書く必要があるのはなぜですか?私はしたくないし、私は毎回その愚かだと思う。 名前のないGUIフロントエンドを使用すると、強制的に実行されます。コマンドラインでVCSを使用している場合でも、他の人が毎回それをしていると聞きます。 1日に数回コミットし、機能を終了していない場合、何を書いていますか?私は何度もコミットした後にメッセージを書くだけで、ミニタグの時か、実際のタグを行う時だと感じています。 私は正しいですか、何かが欠けていますか?また、私は分散システムを使用しています

13
後方互換性が必要ないと仮定して、C#または.Netの機能を停止しますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 製品またはフレームワークは進化します。主に、ユーザーのニーズをキャッチし、新しいコンピューティングパワーを活用し、単純に改善するために行われます。製品によって主要な設計目標も変わる場合があります。C#または.netフレームワークも例外ではありません。ご覧のとおり、現在の第4バージョンは、第1バージョンとは大きく異なります。しかし、物事はこの進化の後方互換性に対する障壁となっています。 ほとんどのフレームワーク/製品では、下位互換性をサポートする必要がなければ機能が中断されます。あなたによると、C#/。netのこれらの機能は何ですか? 回答ごとに1つの機能をお知らせください。

6
どの自己バランス型バイナリツリーをお勧めしますか?
私はHaskellを学び、演習としてバイナリツリーを作成しています。通常の二分木を作成したので、それを自己均衡化に適応させたいと思います。そう: どちらが最も効率的ですか? どちらが最も簡単に実装できますか? 最もよく使用されるのはどれですか? しかし、決定的に、どちらをお勧めしますか? これは議論の余地があるため、ここに属していると思います。

4
PHPが完全にUnicodeをサポートできないのはなぜですか?
PHPにはUnicodeに問題があることは誰もが知っています。Unicodeの実装が困難なため、バージョン6は事実上放棄されています。しかし、正確な理由は何か知っているのだろうか?アーキテクチャ/設計の問題、パフォーマンスの問題、コミュニティの問題(私は違います)、他に何か?

7
静的コード分析の本当の利点は何ですか?
pc-lintやQACなどのツールを使用して、コードベースで静的コード分析を実行できます。 私の経験では、静的解析はしばしば大量のノイズ、つまり実際のバグではないが特定のルールセットのルールの1つに違反するものに関する警告を生成します。特定のルールを無効にする(ルールセットで有効にするか、コード内の特別なコメントを使用する)ことは、本当に面倒なプロセスです。 静的コード分析の本当の利点は何ですか?

9
開発者が自分のワークステーションで作業する方法の標準
開発者がプロ​​ジェクトの途中で数日間病気になったときに時々起こるような状況に出くわしたばかりです。 彼が自分のコードの最新バージョンをコミットしたのか、それとも私たちが見なければならないローカルマシンに何か新しいものがあるのか​​どうかについていくつかの質問がありました。彼が戻ってくる。 他の開発者の1人が彼としてログオンして、多くが同じプロジェクトのように見えるワークスペースを見つけて、どれが「現在」であるかが不明確になったタイムスタンプを見つけました(彼は、彼の「コア」1)。 明らかにこれは首の痛みですが、代替策(各開発者が最小の労力で物事を拾うことができるように各開発者が自分のマシンでどのように動作するかについての厳格な基準のようです)開発者の個人的な作業が流れ、個人レベルでの非効率につながります。 私は、チェックインコードの標準や、一般的な開発標準についても話していません。開発者がローカルでどのように動作するかについて話しているのです。 それでは、このような状況をどのように処理しますか?開発者に支払う代価は、彼らに最適な方法で作業することを許可されているのか、あなたが対処しなければならないことの1つですか? または、開発者にこの分野の標準(特定のディレクトリの使用、標準の命名、Wiki上のメモなど)を遵守するよう依頼しますか?もしそうなら、あなたの基準は何をカバーしていますか、それらはどれくらい厳格ですか、どのようにそれらを取り締まりますか? または、私が見逃している別の解決策はありますか? [議論のために、開発者は彼がここで何をしているのかを話すために連絡できないと仮定します-メモリからどのワークスペースがどれであるかを知って記述できたとしても、単純で完璧ではない場合があります連絡しないでください。すべての不測の事態をカバーするソリューションが欲しいです。] 編集:誰かのワークステーションを通過するのは悪い形だと思います(それはなぜ興味深いのか、おそらくトピック外の質問です)、そして無制限のアクセスを見ていません。コードディレクトリが読み取り専用共有でセットアップされている標準のラインに沿ってもっと考えてください-何も変更できず、他に何も見えません。

6
代替品のトレーニングはどのように行いますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 私は最近、職を辞めることについて尋ねたところ、たくさんの素晴らしい答えを得ました。一般的なスレッドの1つは、新しい人を訓練するために周りにいることが期待され、長い道のりを歩むことができるということでした。 今、(私が思うに)ほとんどの人が通知を出してから長い間会社に留まらないことを考えると、会社が面接/採用するのに時間がかかります。誰かをスピードアップさせます。 また、これまで誰も訓練したことがありません。私は大学で短大の個人指導をしましたが、言語/技術を教えることは、仕事であなたに取って代わるように誰かを訓練することとは大きく異なります。 質問は次のとおりです:潜在的に、短時間であなたを置き換えるために誰かを訓練するためにどのように行きますか?

10
今日、すべてのユーザーがインターネットにアクセスできると仮定できますか?
インターネットはどこにでもあるので、開発者はすべてのユーザーがインターネットにアクセスできると想定できますか?今、私はコードがそのような方法で書かれているわけではなく、接続がない場合、エラーコードの欠如のためにプログラム全体がクラッシュします。つまり、今日のプログラムは、ユーザーが常にインターネットにアクセスできるという前提の下で開発できますか? 「それを仮定することで何が得られるのか」と尋ねることができます。私が尋ねる理由は、uniではライセンスをチェックする方法のためにインターネットアクセスを必要とするかなりの数のプログラムを使用しているためです(あなたのIPアドレスをチェックします-それがキャンパス内のアドレスでない場合、あなたはあなたです使用できません)。プログラム自体はインターネットにアクセスしなくても正常に動作することに注意してください。ライセンスのチェックに必要なだけです。 編集: ここではデスクトップアプリケーションについて話しています。 EDIT2: いくつかの答えから、私はユーザーを非倫理的な方法で搾取したとして非難されていると感じています。私はこの質問で説明したことを支持していません -私はユニで使用しているいくつかのプログラムの開発者がこれを行っているので、私はそれについて尋ねています。個人的に私はこれを行うことは愚かで間違っていると思います。

11
技術的な知識はほとんどないが、すべての技術的な決定を下すCEOに対処する方法は?
明らかな理由で質問が匿名で投稿されました。私は5〜6人の開発者からなる開発グループを持つ会社で働いており、対処するのに苦労している状況にあります。 技術的な選択(言語、フレームワーク、データベース、データベーススキーム、構成スキームなど)はすべて、CEOによって決定されますが、多くの場合、あまり根拠はありません。これらの選択肢を修正するのは非常に難しく、詳細な賛否両論のいくつかの代替案を提案しているにもかかわらず、彼の主な議論は「私はこれが好きではない」にある。彼はまた、理由を説明せずにコア製品をゼロから書き直すことを決定し、それが物事を遅くすると考えているため、開発会議に参加することはありません...私はすでに別の仕事の機会を探しています私たち(開発者)は状況を改善するためにできました。 私に衝撃を与えた2つの例: 彼は私たちに構成管理に似たものを実装するように頼みますが、彼は好きな言語で書かれていないため、既存のフレームワークを拒否します(実装言語は無関係です)。また、「非常に簡単だから」、これらのシステムを数日で書くことができると期待しています。 現在のコードベースが非常に悪いため(設計が彼のコードベースであるため)、彼は私たちのコア製品上でゼロから書き直し続けています。1年で3回目の書き換えを行っており、それぞれの書き換えは前の書き換えよりも悪化しています。 私がこれまでに試したのは、製品で精巧なベンチマークを実行することです(ソフトウェアが遅すぎることを訴え続け、より速くするために書き換えを正当化します)、単に賛否両論のグラフを作成するのではなく、既存の製品で作業証明としてソリューションを実装し、など...しかし、それらの努力の90%はまだゴミ箱に送られ(背後にあるあらゆる種類の理論的根拠は決して好きではありません)、私は彼が望むように正確にやらないので、しばしばprim責されます彼が望んでいることは不可能です)。

16
今日、ソフトウェアプロジェクトにCを使用しますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 はいの場合、どこで、なぜそれを使用しますか? いいえの場合、Cが受け入れられない理由を説明してください。

8
不変オブジェクトとDDDは一緒になりますか?
DDDを使用するシステム(およびORMを使用するすべてのシステム)を検討してください。ほぼすべてのユースケースで、現実的にシステムのポイントは、これらのドメインオブジェクトを操作することです。それ以外の場合、実際の効果や目的はありません。 不変オブジェクトを変更すると、オブジェクトが永続化された後に新しいレコードが生成され、データソースに大量の膨張が発生します(変更後に以前のレコードを削除しない限り)。 不変オブジェクトを使用することの利点はわかりますが、この意味では、不変オブジェクトを使用する便利なケースはありません。これは間違っていますか?

1
フリーランサー:要件の収集についてはどうですか?
フリーランスのプログラマーとして: クライアントから要件を収集するためのプロセスは何ですか? 要件収集プロセスにはどれくらい時間がかかりますか?これは修正されておらず、クライアントの応答方法などの変数があります。一般に、応答の遅延などを考慮して、最終要件に達するまでにどのくらい時間がかかりますか? これらの要件を収集するために、どの通信チャネル(電子メール、電話、インスタントメッセンジャー、その他)を使用していますか? 要件の収集に費やした時間は請求されますか? 要件収集プロセスに成果物はありますか?もしそうなら、彼らは何ですか?

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