ソフトウェア工学

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

1
組み込みシステムのプログラミングの割合はどのくらいですか?
組み込みシステムのプログラミングの割合はどのくらいですか?より一般的には、リアルタイム/ビジネス/ UI /ゲーム/などのドメインごとにプログラマに関する興味深い統計を共有してください。 ドメイン境界の定義方法(組み込みシステムなど)はあなた次第ですが、定義を説明するためにいくつかの言葉を与えてください。

10
「コピー&ペースト」コーダーをすばやく除外するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 コードをコピーして貼り付けるだけで機能することを期待し、機能する場合はチェックインする人の履歴書を除外する方法が必要です。これはすべて、システム内の残りのコードを理解する(または気にする)ことなく行われます。 確かに、コードのコピーと貼り付けは、新しいオブジェクト、コントロールなどの学習の一部であることを知っていますが、それが開発キャリアの70%(またはそれ以上)を占めるかどうかはどうすればわかりますか? 私はおそらく、スキルがプロジェクトに対して非常に時代遅れであるか、プロジェクトにとって無関係である上級レベルの人に出会ったことがあります。その結果、同じプロジェクトでJSON、AJAX、コールバック、ASMX、WCF、およびポストバックのミスマッシュが発生します。各テクノロジーが使用されている場所の背後に一貫性やロジックがないことは明らかです。 最悪の場合、このタイプの開発者はセキュリティの問題と攻撃のベクトルを作成します。 質問 プログラミングのバックグラウンドが低い人を除外するにはどうすればよいですか?履歴書レベルでできますか?そうでない場合、インタビュー中にこれを行うにはどうすればよいですか。

8
ソフトウェア会社には、研究および/またはユーティリティライブラリの専任チームが必要ですか?
私はさまざまな銀行やいくつかの小規模なeショップ向けのWebアプリケーションを扱う会社で働いています。私たちは約20人の開発者を雇用し、4〜5つのプロジェクトをいつでも開発しています。開発チームはあまりやり取りせず、同じ問題の多くがさまざまな方法で行われます(良いものから悪いものまで)。 会社が現在のフレームワークを研究し、機能の共通ライブラリと共通フレームワークを継続的に改善し、現在および将来のプロジェクトをより速く、より効率的に構築するプログラマーのチームを持つことは良い考えだろうかと思いました。 このようなチームはどのくらいの大きさにすべきですか? また、他の人を訓練する常任のメンバーが必要ですか、それとも人を交代させるべきですか? 更新:私は、人々が興味をそそるかもしれない楽しみのために取り組むことができる一般的なプロジェクトについて考えていました。人々が仕事のプレッシャーを抱えているとき、彼らが思いつく解決策は最良ではないようです。

7
コンピューターサイエンスはどの分野に属しますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 コンピューターサイエンスは、応用数学、工学、芸術、哲学ですか?「その他」? 背景を説明するために、Scientific Americanに関するSteven Wartikのブログ投稿「私は本当の科学者ではありません、それでいいです」と題しています。この記事では、この質問に役立ついくつかのトピックを取り上げていますが、答えよりも多くの情報を公開しています。 規律について考えることができたら、コンピューターサイエンスはその定義にどのように適合しますか?コンピューターサイエンスの分野は、プログラマーが行うこと、または学者が行うことに基づいているべきですか?これについて深く考えていると思われる人々からどのような答えが得られますか?どんな理由がありますか?

8
グレートランチと学習トピック[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 私たちは最近、私が働いている会社のプログラミング部門の学習で昼食を復活させました。セッションについてのアイデアがあるかどうか、そしてプレゼンテーションを行うことに興味があるかどうかを尋ねられました。次のようなさまざまなトピックから、いくつかのアイデアがありました。 UIを設計するときにユーザーのように考える方法 またはHTML5の違い 数人の同僚がこれらのアイデアを好んでいるように投げかけました。ただし、プレゼンテーションの作成を深く掘り下げる前に、さらにいくつかのアイデアが欲しいです。 素晴らしいランチと学習トピックは何ですか?

2
美しいアーランコード[閉鎖]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新する Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 私は今まで遊んでいたおもちゃプロジェクトよりもErlangについてもっと学ぼうとしています。この目的のために、私はProgramming Erlangといくつかのアーカイブを読んでいます Armstrong on Softwareの。 また、他の言語では不釣り合いに難しいと思われるErlangで作成できるものの種類を紹介するサンプルコード(できれば製品版)を読みたいと思います。を除いて(私は仮定する)Yawsに、言語の理解を深めたり、さまざまな言語構成体の慣用的な使用法を確認したりするために読み通せる美しいErlangコードの公開例はありますか? 私は特にそうではない「仕事を取得します」というコードを探していますが疑わしい慣行、または「ここにあなたが書く方法ですの線に沿っ例使用factorialErlangでの」。 同様に、この言語を学習するための優れた文献(言及されている「プログラミングアーラン」以外)をお勧めできますか?好みとしては、あなた自身がそれを学習するために使用したものですが、コミュニティ標準の本がいくつかある場合は、それらも入れてください。

4
ソフトウェア要件仕様の作成
仕様の作成についていくつか質問があります。 ソフトウェア仕様を作成するとき、トピック「ユーザー要件定義」の下で、「機能」と「制約」のみを指定する必要がありますか? 「ユーザーインターフェイス」は「機能」または「制約」に分類されますか? ソフトウェアを分割できる主な主要領域(要件)は何ですか(UIなど)。

10
コンパイラの警告
多くのコンパイラには、潜在的なランタイム、ロジック、およびパフォーマンスエラーについてプログラマに警告する警告メッセージがあります。ほとんどの場合、すぐに修正できますが、修正不可能な警告はどうでしょうか。 修正不可能な警告にはどのように対処しますか?コードの一部を書き直しますか、それとも「長く、ハックレスな方法」で書き直しますか、または警告をすべて無効にしますか?ベストプラクティスは何ですか? 他の人のコードを編集していて、彼のコードに警告がある場合はどうなりますか? 次に例を示します。MozillaクラスのブラウザがjQueryに多数のJavaScript警告を検出したため、jQ開発者が修正しないのはなぜですか?jQueryに貢献する場合、それらを修正しますか?
15 compiler 

6
あなたのチームは、作業方法(スクラムなど)に従わなくてもうまく機能していますか?
私は過去9年間に多数の小さなチームで働いてきました。それぞれには、短い会議、改訂管理、継続的統合ソフトウェア、問題追跡などの明らかな優良事例がありました。 この9年間、開発方法論についてあまり聞いたことはありません。たとえば、「私たちはスクラムをやっている」、「アジャイルをする」、または参照を超えるものはありませんでした。すべてのチームはうまく機能しているように見えましたが、多くのプロセスを踏まなくても、ただのフリーフローで、自然にうまく機能していました。 スクラム/アジャイル/その他に遭遇することなく、他の誰かが長期間進歩しましたか? 私がこれらにさらされた唯一の露出は、このようなサイトを通してです。私はスプリント会議のような質問を読みます-何を話すべきか ...そしてすべての話は方法論の有限状態機械に従う人々のようなほとんどロボットのことを説明しているようです。それは本当に(誇張されていますが)そのようなものですか?インターネットに投稿している人々は、「ベストプラクティス」を大声で支持しているだけで、教科書の見方も同じで、実際に人々がどのように働いているのかを反映していないのでしょうか? さらに(私は英国にいるので、関連があるかもしれません)...私が取り組んでいるチームのいずれかに方法論が導入された場合、彼らはそれを愚かで不必要であるとして拒否するでしょう...オン。同意する傾向がありますが、次のプロセスは少し不自然に思えます。これは典型的ですか、それとも一般的ですか?

9
言語の人気傾向を測定するための最良の客観的な方法は何ですか?(TIOBEより優れているものはありますか?)[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 10か月前に閉鎖されました。 私が知っているコンピューター言語の人気に関するデータを取得する最良の方法は、TIOBEインデックスです。しかし、誰もが TIOBEに絶望的な欠陥があることを知っています。(誰かがこれをサポートするリンクを提供したら、ここに追加します。) それでは、一般的に意味があると考えられるプログラミング言語の人気に関するデータはありますか?私が知っている他の唯一の選択肢は、実際に欠陥があり、求人情報に基づいているIndeed.comのトレンドを見ることです。 インデックスだけに基づいて将来の言語を決定するのとは異なりますが、友人や同僚と話をすることで得られるゆがめられた見方に役立つバランスを提供するかもしれません。 その偏りを説明するために、私が個人的に知っている人々の経験に基づいて、今日専門的に使用されている言語(人気順)はJava、C#、Groovy、JavaScript、Ruby、Objective C、およびPerlのみであると指摘します。(C、C ++、およびPHPが過去に使用されたことは明らかです。) 私の質問は、誰もがTIOBEを叩きますが、他に何かありますか?もしそうなら、誰もが代替案がより良い方法論を持っていることをどのように知っているか説明できますか?ありがとう。

8
インタビュー中のホワイトボード「テスト」:(ホワイトボード)コードをバックアップする正当な方法 [閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 わかりましたが、ホワイトボードコードにエラー(「;」のようなタイプミスや欠落)があると、多くの場合、インタビューポイントがかかります。それを避けることは、必然的に1つの校正コードを何度も繰り返します(時間と神経エネルギー/集中力を失う)、またはより単純な(したがって効果の低い)アルゴリズムを使用します-そして、これらの両方の方法は再び「高価」です! それでは、(ユニット)テストフレームワークを自由に使えるように、エレガントで効果的なコードを高速で書いて、それを(ホワイトボード上で)普通にテストしてみませんか? 誰もがこのアプローチを試した/見ましたか?アイデア全体に価値がありますか? [これはもちろん、ペンと紙のケースにも当てはまります]

11
他の作業中に既存の欠陥を修正する必要がありますか?
難問:新機能の作業中または欠陥の修正中に、コードに古い問題が見つかります。あなたは何をするべきか?それを修正し、コードの動作を変更する危険を冒してください。それは、これまでに何らかの欠陥によってうまく機能しているか、あるいは欠陥が検出されていないか、報告する時間がないかのどちらかです。そのままにして、問題が原因でコードを後で操作しにくくする必要がありますか?問題を修正すると、元のタスクの時間が増えるだけで、強制的に回帰テストが行​​われます。仕事に感謝する人はほとんどいません。しかし、それを修正することは、どういうわけか正しいようです。問題の少ないコードは、リファクタリングやビルドが簡単です。 Webアプリケーションの近代化に取り組んでいるとき、私はこの状況に何度も気づきました。これらの古いバグに取り組んでいるとき、自分が強迫観念を持っているのか、それとも名誉あるのかはわかりません。これらの状況をどのように処理しますか? ありがとう、コーリー

6
プロジェクトフォルダーをどのように整理しますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 こんにちは プロジェクトフォルダをどのように整理していますか? かつて私は、顧客別に組織することを勧めてくれる上司がいました。 Projects | |----Customer 1 |---- A Cool Solution 1 |---- source |---- version1.0 |---- version1.1 |---- docs |---- analysis |---- meetings |---- manuals |----Customer 2 |----Customer 3 私の友人はテクノロジーでテムを整理するように私に言った Projects | |----.NET |---- C# |---- Customer 1 |---- A Cool Solution 1 |---- source |---- …

13
async&await-代替案のポーリング[終了]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 c#5の準備が整ったので、Anders Heijsbergが昨日PDC10で発表した「Asynchrony」の2つの新しいキーワードの選択に影響を与えるための空きがあるようです。 async void ArchiveDocuments(List<Url> urls) { Task archive = null; for(int i = 0; i < urls.Count; ++i) { var document = await FetchAsync(urls[i]); if (archive != null) await archive; archive = ArchiveAsync(document); } } Eric Lippertは、現在の2つのキーワードの選択と、それらがユーザビリティ研究で誤解されている方法について説明しています。コメントには他にもいくつかの提案があります。 お願い-回答ごとに1つの提案、重複は削除されます。
15 c#  naming 

2
フックとは何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 さまざまなプログラミング記事でこの用語フックに出くわし続けます。しかし、それらが何であり、どのように使用できるのか理解できません。そこで、フックの概念を知りたいだけです。特にWeb開発のコンテキストで、誰かが私をいくつかの例にリンクできれば、それは素晴らしいことです。

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