ソフトウェア工学

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

8
チームをよく訓練する方法は?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 私は現在、小さなソフトウェア会社の4人のジュニア開発者の小さなチームを指導しています。彼らは非常に賢く、しばしば高品質の仕事で仕事を達成しますが、彼らはまだもっと良くできると確信しています-実際、私は自分自身とまったく同じ感覚を持っています:)-。それに加えて、それらのいくつかは他よりも「ジュニア」です。 そこで、日々の仕事で得た経験に加えて、CSスキル(設計、コーディング、テスト、アルゴリズムなど)を向上させる面白い方法を見つけたいと思います。たとえば、2時間以内の週に1回のセッションを設定し、CS演習に取り組むために集まることを考えていました。コーディング道場に少し似ています。 チームはそれを楽しんでくれると確信していますが、本当に良いアイデアですか?プロの文脈では効率的でしょうか?彼らはすでに一週間をコーディングに費やしているので、彼らが何らかの利益を得るためにはどうすればそれを整理すべきでしょうか? どんなフィードバックも歓迎します!
11 learning  team  skills 

9
bin(またはdll)をTFSにチェックインしますか?
TFSに関する簡単な質問-bin / debugフォルダーをTFSにチェックインしますか?(もしそうなら、なぜ?)それらのフォルダーのコンテンツは動的に生成されるので、プログラマーが読み取り専用の問題に遭遇しないように、それらを除外するほうが良いでしょうか?

4
オープンソースのコード賞金
R(オープンソースの統計パッケージ)のライブラリを紙にマッピングしています。さまざまな機能のコーディングを開始しましたが、妥当な時間内にこれを完了するのに必要な時間がないことがわかりました。リポジトリにコードを投げて、他の人に空白を埋めるのを手伝ってもらえることを知っています。しかし、私は少し物事を奨励したいと思います。たとえば、5ドルから20ドルの各機能に賞金をかけることを考えています。開発者が各機能をコーディングするために、20ドルで時間通りに公平に利益を得る方法はありません。しかし、私の考えでは、現金(またはAmazonギフト券)は、人々がプロジェクトに実際に取り組むための創意工夫だと思います。そして、それは私が私が最も興味を持っている機能により高い報奨金を置くことを可能にします。 これに関連するいくつかの質問があります。 良いアイデア? 開発をより速く、または遅くするつもりですか?Predictably Irrationalを読んだことがありますが、機能に対して少額の給与を提供することで、実際に開発者の意欲をそそる可能性があることを心配しています。 このタイプの活動専用のサイトはありますか?個人的な経験に基づいて推奨されますか? まったく異なるアプローチをお勧めしますか?私はアイデアを受け入れます!

4
どのJavaベースのWeb UIフレームワークを使用しますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 6年前に閉鎖されました。 改札 クリック GWT ヴァーディン 私が理解しているように、これらのフレームワークはすべて、多くのhtml / javascriptを実行することなく、java(すべての利点)を使用してguiコンポーネントを作成できるようにします。 技術的な要因を考慮するだけでなく、急速に人気を集めているものがあるかどうかも聞きたいです。特定のフレームワークがパックのリーダーになりつつありますが、これも決定に影響します。

3
プライベート変数が公的にアクセス可能なヘッダーファイルに記述されているのはなぜですか?
わかりました。したがって、これはプログラマにとって主観的な十分な質問ですが、ここに行きます。私は言語とソフトウェアエンジニアリングの実践に関する知識を継続的に広げています...そして、私にはまったく意味をなさない何かに出くわしました。 C ++では、クラス宣言private:のヘッダーファイルにメソッドとパラメーターが含まれます。これは、理論的には、ユーザーに渡してlibにした場合に含めるものです。 Objective-Cでは、@interfacesはほぼ同じことを行い、プライベートメンバーのリストを強制します(少なくとも、実装ファイルにプライベートメソッドを取得する方法があります)。 私が伝えることができることから、JavaとC#では、すべてのパブリックにアクセス可能なプロパティ/メソッドを宣言できるインターフェイス/プロトコルを提供でき、コーダーが実装ファイル内のすべての実装の詳細を隠すことができます。 どうして?カプセル化はOOPの主要な原則の1つですが、なぜC ++とObj-Cにこの基本的な能力が欠けているのですか?Obj-CまたはC ++で、すべての実装を隠すベストプラクティスの回避策がありますか? おかげで、

4
古いプロジェクトをクリーンアップするための良い方法は何ですか?
2年ほど前に書いたソフトウェアがいくつかあり、それに追加する機能が必要です。私など、それはひどい混乱にだことに気づき、私は周りのすべてを移動する衝動を持って、きちんとアップしましたIましたが、読んで再起動していないソフトウェアについての記事でジョエルを、その前方に最良の方法はいただきましたか!?

4
合併や買収により、さまざまなバージョン管理システムを統合する方法、または他のバージョン管理システムを選択する方法
企業は、異なるバージョン管理システムを使用する他の企業を買収します。 たとえば、Subverson-GITブリッジを使用したり、1つのツールだけを別のツールで使用することを決定したり、システム間を移行したりするなど、そのようなシステムを統合する方法に関する一般的な知恵はありますか? そのような意思決定には、たとえばソフトウェア開発の「ジョエル」テストと同等の基準を使用していますか?

3
ベストプラクティス:データベースアプリのプログラミングパターン
私はこれまで多くのデータベース(MySQL)Webアプリを書いてきましたが、私の構造はちょっと不器用だといつも思っています。ここでいくつかのアドバイスを期待して、使用しているプログラミング/設計パターンを改善したいと思います。特に、データベース(スキーマ)の実装をカプセル化するOOPアプローチを補完する構造を見つけることができません。私 私の質問は例で最もよく説明できると思います。Invoiceオブジェクト/クラスがあると言う2つのアプローチがあります。 最初は静的メンバー関数を使用することです class Invoice { int id; string ref; int customer_id; date created; date due; static id create(); static bool update(id, field1, field2, ...); static bool delete(id); static bool get(id); }; 2番目のアプローチは、すべてのものをデータベースオブジェクトに入れることです。 class Database extends ProprietaryDBConnecter, Singleton { id createInvoice(); bool updateInvoice(id, field1, field2, ...); bool deleteInvoice(id); bool getInvoice(id); …
11 database 

4
「プロフィット」インタビューとは何ですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 そこで、私は学校のキャンパスでの最初のインタビューと、この会社とのオンサイトインタビュー(1日、主に技術面接)を経験しました。 「Professional Fit Interview」と呼ばれる採用マネージャー。これが何なのかわかりません。オンサイトインタビューが最終ラウンドになると思う前に、少なくともそれは彼らから得た印象です。 それでは、この「プロフェッショナルな面接」とは何でしょうか?どのように準備すればよいですか? どうもありがとう! フォローアップ:返信ありがとうございます。誰もが言及したように、それは人事タイプのインタビューです。インタビュアーはチームの紹介を行い、質問があるかどうかを尋ね、「2年後にどこを見ますか」などの質問をいくつかしました。とにかく、約1週間後に拒否メールが届きました。
11 interview 

10
.NETとは何ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 私はソフトウェア会社に勤めていません。私は、プログラミングについて何かを知っている会社のほんの一握りの人の一人です。私は、パブリックAPIを介してオフィスで使用される他のプログラムの自動化に多くの時間を費やし、いくつかのスタンドアロンアプリケーションも作成しました。オフィスで使用していると思われるすべてのアプリケーションが何らかの形式の.NET APIを持っているように見えるため、私はほぼ完全にC#.NETで作業しています。 ここで、「プログラムの作り方」について学び、どこから始めるべきかを尋ねる人が何人かいました。自動化したいプログラムのほぼすべてが.NET APIを備えているため、.NET言語を学習する方がはるかに理にかなっていると思います。 ただし、.NETが何であるかを説明し、プログラミングについて何も知らない人になぜ.NETを学習する必要があるのか​​を理解しようとしています。.NET言語と見なされる言語は多数あるため、実際には言語ではありません。さらに、「。NET」と「.NETフレームワーク」にはマイクロソフトが提供するライブラリに関するものがあるため、「。NETフレームワーク」には違いがあると思います。

1
アルゴリズム:プレイに最適なテーブルを見つける(スタンディングギャンブラーの問題)
序文 これはコードゴルフではありません。私は興味深い問題を見て、同僚からのコメントや提案を求めています。この質問は(排他的に)カードのカウントに関するものではなく、観察に基づいて最適なテーブルを決定することに関するものです。最悪の場合の時間/空間の複雑さ(任意のアーキテクチャ)を人間の心に移植可能にする何らかの種類の脳移植を行うと仮定します。はい、これは非常に主観的です。ワイルドカードを使用せずにフランスのデッキを想定します。 バックグラウンド 私は最近カジノを訪れ、テーブルごとのプレーヤーよりも多くの傍観者を見ました。ほとんどの傍観者がプレイする資金を持っているので、どの選択プロセスが傍観者を賭けプレーヤーに変えたのか疑問に思いました。 シナリオ あなたはカジノに入ります。n個のテーブルがブラックジャックのバリアントをプレーし、そのうちy個がポンツーンをプレーしています。各テーブルは、ハウスアドバンテージをわかりにくくするために、不確定な量のカードデッキでプレイします。 各テーブルにはさまざまな最小ベットがあります。あなたはあなたの人にZ通貨を持っています。次の場所にあるテーブルを検索します。 使用中のカードデッキの最小量 最小ベットは、より多くのデッキを使用するテーブルよりも高くなりますが、Zでプレイできるゲームの量を最大化する必要があります。 プレーヤーごとの純損失は最小です(ほとんどの答えでは、これは偶発的なノイズと見なされますが、シャッフルが壊れていることを示している可能性があります) 問題 すべてのテーブルを魔法のように観察できます。決定の基礎とするために、サンプリングするXラウンドがあります。この目的のために、すべてのプレイヤーがプレイするのに30秒以上かかりません。 この問題を解決するためにどのアルゴリズムを使用しますか?また、最悪の場合の複雑さは何ですか?あなたは: ポンツーンまたはブラックジャックをプレイしますか? どのテーブルを選択しますか? カジノがどちらのゲームでも8デッキ以下のカードしか使用できない場合、何ラウンドを観察する必要がありますか(Xの値は何ですか)。各テーブルには2〜6人のプレイヤーがいます。 テーブルを見つけている間、どのくらいの時間待ちましたか? より良い用語がないため、これを「スタンディングギャンブラー問題」と呼んでいます。自由に調整してください。 追加 カジノでない場合、これはどこで役立つでしょうか? 最後の 私は魔法のギャンブルの弾丸を探していません。私はちょうど私の脳が噛むのをやめない骨になる問題に気づいた。私は特に、カジノを訪れる以外の用途に興味があります。
11 algorithms 

12
9から5のツイートは求職者を傷つけますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 8年前に閉鎖されました。 求職者の経歴を調べていて、Twitterでフォロワーが1200人いて、1日に平均50ツイート(その半分以上が営業時間中)であることを発見した場合、採用決定に影響しますか?方法と理由? 個人的には、候補者が一日中ずっと「ひねり」を加えて常にチェックインしている場合、目の前の仕事に集中する能力について少し心配になるでしょう。ハイテク以外の仕事では、多くの企業がTwitterを無関係な気晴らしとしてブロックするだけです。しかし、それは特にプログラマーにとって有用なリソースになる可能性があります。どれだけ多すぎるのかしら。どの時点で赤旗になりますか?

7
Python / RubyとPHPを長い間使用していて、まだPHPを好む人はいますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 9年前に閉鎖されました。 私は通常、PHPを守る記事と使用されている議論に魅了されています。これらの種類の記事の著者は、他の言語でどのような経験をしたかについて言及しないことがよくあります。個人的には、誰かがPythonまたはRuby、そしてPHPを高いレベルで知っていて、それでもPHPを好むと想像するのは難しいと思います。 したがって、この説明に当てはまる人がいれば、これらの言語のいずれかよりもPHPを好む理由を聞いてみたいと思います。

8
ガントチャートのポイントは何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 私の(技術者ではない)同僚が、現在計画している新しいプロジェクトのガントチャートで脅迫しています。これは私たちに何を提供する可能性があり、それは有用なツールになりますか?

6
BDD / TDDを最初にテストする必要がありますか?
TDDやBDDのプロジェクトに参加したことがない、またはTDDを行っていると言っているが、それとはかなりかけ離れていると言っても、これらは私が考えていることで、できる限り読みたい約。 質問に戻ります。BDDを実行しているときは、最初に「テスト」を記述して、失敗させる必要があります。そして、その機能またはあなたがそれを呼ぶものを実装します。しかし、これを極端に考えれば、これはある種のトップダウン開発ではないでしょうか?UIを見て、「この機能/動作をここに追加したい」と言っています。次に、UIを修正して、その機能とUIをサポートするコードを実装します。この時点では、ビジネスロジックやデータアクセスロジックを実装しておらず、動作を実装しただけです。最初にテストを書く代わりに、私が目指しているのは、最初にUIコードを書くことです。UIコードを使用してビジネスでサポートする必要があるものを定義するため、場合によっては、データアクセス層とビジネス層で同じコードになるはずです。 もちろん、機能を機能で機能することを確認するために使用されるテストでこれを補完する必要があります。 何かご意見は?
11 unit-testing  tdd 

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