ソフトウェア工学

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

4
Open for funプロジェクトに価値のあるものはありますか[非公開]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 私はたくさんの楽しいプロジェクトを書いて、友人などに見せました。関心と有用性が限られているため、作業を行い、これらのプロジェクトをオープンソースにすることに価値はありますか。

5
オープンソースプロジェクトにバッジを組み込むにはどうすればよいですか?
Stack Overflowには、コミュニティへの人の貢献を認識し、個人の能力が貢献するほど成長する素晴らしいバッジのセットがあります。 オープンソースまたはコーディングプロジェクトに使用できるテクニックは何ですか?たとえば、コードベースへの個人の貢献により、バッジが増え、プロジェクトの機能が増え続けていますか? モデレーターメモ 推奨事項へのリンクを提供するだけでは十分ではありません。ゲーミフィケーション要素をオープンソースプロジェクトに組み込む方法に関する詳細な回答を提供してください。これを行わない回答はすべて削除されます。 プログラマーで探している質問の種類と回答の種類の詳細については、良い主観、悪い主観を参照してください。

4
関数型プログラミング—不変性
私はFPで不変データを扱うことを理解しようとしています(特にF#ですが、他のFPも大丈夫です)、ステートフル思考(OOPスタイル)の古い習慣を破ります。ここでの質問に対する選択された回答の一部は、OOPのステートフルな表現とFPの不変な表現(たとえば、プロデューサーとコンシューマーのキュー)によって解決される問題に関する記述の検索を繰り返しました。何か考えやリンクは大歓迎ですか?前もって感謝します。 編集:質問をもう少し明確にするために、FPで複数のスレッド(例:プロデューサーとコンシューマー)で不変の構造(例:キュー)を同時に共有する方法

8
どの生産間隔がより生産的ですか:短いですか、長いですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 プログラミングの生産性が高い作業セッションはどれですか:短い(<= 30分)、中間の長さ、または長い(> = 2時間)?どの場合に?(新しい機能のコーディング、小さな変更、UIの調整、リファクタリング、デバッグ、APIの学習、他のコードの理解の試みを検討してください)。 経験から何がわかりますか?研究やベストプラクティスからの情報も大歓迎です。リンクや参考文献を見るといいでしょうが。 完全な回答よりも信頼できる情報が望まれます。 貴重なポイント: 集中的思考がここの究極の目標です 一般に中断のない作業> 2〜3時間は、焦点を失い、ぼやけた思考をもたらします あなたがフローにいるとき、1〜2時間働くことをお勧めします 思考のget性と先延ばしを克服し、より良い時間の感覚を得るために、ポモドーロテクニックの練習を試みることは価値があります。特に、あまり好きではないことを始めるのに役立ちます 「休憩管理」ソフトウェアを使用する場合、1休憩をスキップするがそれ以上はしないなど、自分自身をより柔軟にすることができます。これにより、状況に適応することができます:流れているとき、流れがあるとき、流れていないときは管理しやすくなります 休憩中の新鮮な空気、リラックス、運動は、新しいアイデアやソリューションを得るために正しい半球に参加するのに役立ちます 「ブレーク管理」用のソフトウェアツールを試してください。 Pomodairo-さらにタスクのリストを追跡し、pice UIを備えています WorkRave-構成の柔軟性が向上します。スピーカーなしでも使用可能

4
商用ソフトウェアでの関数型プログラミング
私は最近、同僚と関数型プログラミングについて議論していました。FPにはいくつかの明らかな利点(単純なコード、数学的に簡単に推論できるなど)があることに2人で合意しましたが、どちらも商用ソフトウェアで使用されるのか、使用されるのかを考えました。 機能的に書かれたオープンソースやアカデミックなプロジェクトがたくさんあることは知っています(たとえば、Stack Overflowでこの質問を見たことがあります)が、少なくとも部分的に書かれた他の商用ソフトウェアをリストできる人はいないかと思います関数型言語(およびどの言語)で。


6
初心者のプログラマーとして、サードパーティのライブラリを使用するよりも独自のライブラリを構築することを優先すべきですか?
Pythonプログラマーとして、必要な機能を含む高度なサードパーティライブラリにジャンプする前に、独自のライブラリを構築して理解することをお勧めしますか? 一部のプロジェクト(DjangoなどのWebフレームワークなど)は、おそらくこのアプローチには大きすぎます。しかし、他のプロジェクト(Webクローラー、グラフライブラリ、HTMLパーサーなど)は実行可能であるようです。 サードパーティのライブラリに早期に依存すると、私の成長が妨げられるのではないかと心配しています。 注:この質問とこの質問は、学習の利点よりも再利用の効率におそらく集中している経験豊富なプログラマーに焦点を当てているようです。私の質問は、初心者に焦点を当てていると思います。

5
最も効率的なキャッシュ置換アルゴリズム[終了]
閉じた。この質問には、詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 6年前に閉鎖されました。 ウィキペディアには、11のキャッシュ置換アルゴリズムがリストされています。私が開発しようとしているアプリケーションについてほとんど何も知らないと仮定すると、「デフォルト」のキャッシュ置換アルゴリズムとして何を使うべきでしょうか? 私のOSコースから正しく思い出せば、LRUは最高の汎用キャッシュ置換アルゴリズムです。しかし、多分私は間違っています。 また、これは一般に、メインメモリが安価で豊富であり、キャッシュサイズについてあまり心配する必要がないため、学術的な問題です。

12
インタビュアーが答えるのに十分な時間を与えていない場合はどうしますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 有名な会社にインタビューをしました。インタビューの第1ラウンドを完了した後、第2ラウンドの最終選考に残ります。しかし、2回目のラウンドが災害になることはほとんど知りませんでした。 2回目のラウンドが始まり、インタビュアーは私のプロフィールについて彼に話すように頼みました。これが完了すると、彼はペンと紙を手に入れることを教えてくれ(残念ながら私はペンしか持っていませんでした)、彼は15分後に戻ってきました。彼が戻ってきたとき、彼は質問と答えについて考える機会を与えずに、私に質問を撮影し始めました。最初の質問の5秒後に、私が最初の質問に答えているかどうかに関係なく、彼は私に別の質問を投げかけました。私はまた、彼に答える機会を与えるために丁寧に言ったが、運はなかった。 インタビューが終わった後、彼はこれらの質問を記憶するために15分の休憩を取り、質問を忘れてなくなる前に私の前でそれを発しているように感じました。そのような場合に何ができますか?
12 interview 

9
コードレビュー、利点は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 私のチームでは、正式なコードレビューは行いません。ペアプログラミングと回転ペアで十分であると考える傾向があります。 正式なコードレビューを検討する必要がありますか?利点は何でしょうか?

10
バグを考えないことが解決に役立つことがあるのはなぜですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 昨日、午後の大半をバグの修正に費やしましたが、これは些細なことだと思いました。何が間違っているのかわからないまま、私は輪になって回っていました。コードの大部分を書き換えます。SOの確認。まだ喜びはありません。 それで家に帰り、犬を散歩させ、小さなテレビを見て、寝る直前に、ビンゴは私が犯している明らかな間違いに気づきました。今朝、修正に約10分かかりました。 家にいる間、私は問題について積極的に考えていませんでした。しかし、状況から抜け出すことで解決できました。 それが起こったのは初めてではなく、プログラミングの問題を解決するためのかなり一般的な方法であることは知っています。答えを夢見ている人々のことさえ聞いたことがあります。 なぜこれが機能するのですか? おそらくもっと重要なのは、いつ問題から休憩を取るべきか、どのくらい休憩をとるべきか、どのくらい後に問題を残すことが効果的でなくなるかについての良いガイドがありますか? 私はこの潜在意識処理を最適化する方法を考えていると思います

11
コード生成はコード品質を向上させますか?
コード生成を主張して、コード品質を向上させる方法の例を探しています。コード生成の意味を明確にするために、私のプロジェクトについてのみ説明します。 XMLファイルを使用してデータベーススキーマ内のエンティティの関係を記述するため、エンティティの追加、削除、変更に使用できるORMフレームワークとHTMLフォームの生成に役立ちます。 私の考えでは、人的エラーが減るため、コードの品質が向上します。何かが正しく実装されていない場合、モデル内で破損します。これは、より多くの生成コードが破損するため、エラーがより早く表示される可能性があるためです。 コード品質の定義を求められたので、これを明確にしましょう。つまり、ソフトウェア品質です。 ソフトウェア品質:相互に影響するのは、1つの属性ではなく、効率、変更可能性、読みやすさ、正確さ、堅牢性、理解可能性、使いやすさ、移植性などの多くです。

4
上級レベルのプログラマーがコードを盗んだ場合はどうしますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 これは前の会社での私の経験でした。それは小さなスタートアップ企業であったため、通常のソフトウェア開発手順のいくつかは厳密に守られていませんでした。私の同僚の1人は、2年間会社の上級プログラマーでした。彼のスキルはかなり不足していた。彼は自分の仕事を私に割り当ててから、その仕事の功績を称えました。彼は定期的にこれを行いましたが、私も自分のタスクを完了する必要があります。 同僚が信頼しているため、この状況を上級管理職に伝えることができないと感じました。 後で、彼に割り当てられた彼のタスクを遅らせて、彼にあまり反映しないようにしました(彼がタスクを完了できなかったため)また、クライアントの苦情が未解決の問題を積み上げました。今、会社は彼について知っています。 実際、今私はリードとして新しい会社に向かっています。今、私はこれらの状況に完全に自由です。 このような状況を経験した人はいますか?何をしましたか/しましたか?

4
初期化メソッドを避ける
この既存のコードには、クラスとそのクラスの初期化メソッドがあります。クラスのオブジェクトが作成されたら、そのオブジェクトでinitializeを呼び出す必要があります。 初期化メソッドが存在する理由 オブジェクトは、グローバルスコープを持つように早期に作成され、その後、依存するDLLを読み込んだ後に初期化メソッドが呼び出されます。 初期化 の問題クラスには現在、このbool isInitializedがあります。初期化されていない場合、処理を続行してエラーを返す前にすべてのメソッドでチェックする必要があります。簡単に言えば、それは大きな痛みです。 考えられる解決策の1つ は、コンストラクターで初期化することです。グローバルスコープ内のオブジェクトへのポインターのみがあります。dllがロードされた後、実際のオブジェクトを作成します。 上記のソリューションの問題 このクラスのオブジェクトを作成する人は誰でも、dllがロードされた後にのみ作成される必要があることを知る必要があります。さもないと、失敗します。 これは受け入れられますか?

12
アルゴリズムとは何ですか?
Algorithmとはどういう意味ですか?私がこの言葉を少し理解しているのは、それが特定の言語やデザインパターンに固有のものではなく、むしろ最も基本的な原則であるということです(したがって、この質問は私を愚かに見えると思います)。 私がそれを理解している「オプション」の1つは、それが何かを成し遂げる方法を意味するということです。それは、擬似コードのリストとして書くことができます。 もっと複雑なコードを書くとき、何をする必要があるのか​​、何を、どのようにそこに到達するのか(プログラミング言語ではない)を考え、それをコードで記述します。それについては良い方法ですか?それはアルゴリズムと関係がありますか? (特定の問題/言語に関するものではなく、Stackoverflowではなく、ここの大多数の人々が「理由」を知っている、または少なくともここの回答がより詳細であると感じるため、むしろStackoverflowで質問したかったのです。それが違うところで、あそこに尋ねたらよかったです)
12 algorithms 

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