ソフトウェア工学

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

11
「無料プロジェクト」をどのように扱うべきですか?それらを受け入れるべきかどうか?
わかりました。ソフトウェアエンジニアとして、私のスキルは他のコンテキストで価値があると感じています。たとえば、友人が私のところに来て、彼女の研究のためにウェブサイトをセットアップするように頼みました。最初は、自分の名前を広め、暇なときにスキルを磨いてくれると思っていました...しかし、私は無給の仕事で時間を無駄にしていると考えるのを止められませんでした。 今、2人目の友人が同じ話で私に来ます。「あなたは私のためにそれをしてもらえますか?私はあなたの名前をそこに置きます。 これをどのように処理しますか?友人について話している場合でも、暇なときにサービスの料金を請求しますか?もしそうなら、例えばコンサルタントとして、あなたはそれに対してどのように請求しますか?


5
開発ブランチはいつ作成する必要がありますか?
プロジェクトのチームを単一のメイン/トランクブランチから、メインに定期的にマージする必要がある複数の開発/ワークブランチに移動しています。この記事とTFS分岐ガイド(TFSとVisual Studio 2010を使用しています)に基づいて新しいプロセスを作成しています。 現在、1人から5人の人々がプロジェクトに取り組んでいます。Mainは必要に応じていつでもリリースできるようにするため、常に安定している必要があります。スプリントは修正されていません-少なくともまだ-現時点では1〜2週間ごとにリリースしています。 この時点で、各ユーザーはアプリケーション全体のバグを修正しています。数週間以内に、アプリの新しい大きなコンポーネントの開発を開始します。 私たちが見つけている一つのこだわりのポイントは、いつ開発ブランチを作成すべきかということです。開発者のスキルセットに応じて、複数のユーザーストーリーを並行して実装します。開発者ごとにブランチを作成することを考えましたが、それは意味がありません。作業の一部で常にコラボレーションが必要になるからです。他の作業が完了している間にMainにマージするため、単一の開発ブランチでは対応できません。 誰にもこれに関するガイダンスがありますか?

11
インデントの反対語[閉じた]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 コードをインデントすると言います。コードをインデントするためにタブを追加/削除できる文字列ビルダーを書いています。 サンプル: builder.Add("<ul>"); builder.Indent(); builder.Add("<li></li>"); builder.Dedent(); // <-- what should this be named. builder.Add("</ul>"); メソッドの名前は何にする必要がありますか?

3
スクリプトで使用するためのパスワードの保存
ユーザーが開発プロセス中に物事を自動化しながらパスワードを入力する必要がある状況はほとんどありません。サイトの展開は、一般的な状況の1つにすぎません。OS Xでdmgファイルを作成するには、パスワードも必要です。スクリプトで使用されるコマンドラインユーティリティのほとんどには、stdinを介してパスワードを受け取る機能があります。 スクリプトを実行するたびにパスワードを指定すると、「自動」の目的が無効になります。スクリプトにプレーンテキストを保存すると、「パスワード」の目的が無効になります。パスワードを必要とするスクリプトにパスワードを提供するための最も最適なアプローチは何ですか?

4
グラフィカルデザイナーとチームを組むのが良いのでしょうか、それとも請負業者に設計作業を仕上げるのが良いでしょうか?
グラフィカルデザインに関しては無知ですが、プログラミングに精通しています。あなたがビジュアルデザインのスキルに欠けるプログラマーである場合、グラフィックデザイナーとペアを組んだり、すべてのプログラミングを行ってから特定の作業を行うのに最適なものは何ですか? 私はいくつかの作業を中断しましたが、デザインに影響を与えすぎているため、完全には満足していません。これは、請負業者とのやり取りを明確にする必要があり、作成したアーキテクチャによって創造性が制限されているために起こると思います。 パートナーがいればより大きなコラボレーションが可能になるように感じますが、パートナーシップに警告する起業家向けの本をたくさん読んでいます。

3
単体テストに関するビデオ[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 6年前に閉鎖されました。 ユニットテストで優れたプレゼンテーション(スライド+オーディオまたはビデオを推奨)を探していましたが、見つけるのは書籍とブログ投稿だけです。プレゼンテーションは茶色のバッグランチで表示されるため、50分を超えないようにしてください。私が探しているのは、一般的な概念または.NETプラットフォームでそれを行う方法です。 その説明に合ったプレゼンテーションを推奨できますか?

5
Webアプリケーションのクライアントに提供する成果物は何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 基本的にPHPで開発されたWebアプリケーションを完成させましたが、これはもう1つの通常のWebアプリケーションです。通常、最終製品リリースを配信するときは、コードド​​キュメントとアーキテクチャ情報をクライアントに引き渡すだけです。ただし、この特定のプロジェクトでは、クライアントはプロジェクトに関する完全な入出力データを保持することを強く求めています。 だから私はただ疑問に思っています...コードとアーキテクチャのドキュメントとは別にクライアントに提供できる必須の技術的および非技術的ドキュメントは何ですか? (また、プロジェクトに関するさまざまな統計情報やデータについてクライアントにヒットして、関連する作業量と製品が実際にどれだけクールであるかを実際に知ることもできます。)

2
GitリポジトリとMercurialを同じディレクトリに配置する
私の問題を説明します 現在、gitを使用したgitoriousの社内インストールを使用しています。水銀を使用するフォグクリークのFogBugzとKilnのテストを開始したいと思います。少なくとも短期間、両方のソリューションを使用して開発を続けたいと思います。 同じディレクトリにgitとmercurialレポを置くことの長期的な深刻な影響を誰もが知っていますか?または、gitとmercurialサーバーの同期を維持するより良い方法がありますか。 テストリポジトリで試しましたが、問題は見られませんでした。 助けてくれてありがとう。
11 git  mercurial 

6
インデックス変数のタイプの選択
ほとんどの場合、インデックス変数を表す整数型を使用します。しかし、状況によっては、選択を余儀なくされます std::vector<int> vec; .... for(int i = 0; i < vec.size(); ++i) .... これにより、コンパイラは、符号付き変数と符号なし変数が混在して使用されているという警告を発します。インデックス変数をとしてfor( size_t i = 0; i < vec.size(); i++ )(またはunsigned int)作成すると、問題が整理されます。 Windowsタイプの使用がより具体的になると、ほとんどのWindows APIはDWORD(unsigned longとしてtypedefされます)を処理します。 したがって、同様の反復を使用すると、再び同じ警告が発生します。今、私はそれを DWORD dwCount; .... for(DWORD i = 0; i < dwCount; ++i) .... これは少し変だと思う。それは知覚の問題かもしれません。 インデックス変数で発生する可能性のある範囲の問題を回避するために、同じタイプのインデックス変数を使用することになっていることに同意します。たとえば、使用している場合 _int64 i64Count; // .... for(_int64 i = 0; …
11 c++ 

9
話題の言葉の集大成ではない意味のある履歴書を書くアイデア [閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 私は履歴書全体の再設計を開始しようとしています。私が行き詰まっているのは、すべてを書き留めるのと書きすぎるのとの間に線を引くべき場所です。 私の履歴書が流行語のパックになりたくないし、私が知っていることをまったく知らないようにしたくない。 これらの考えを念頭に置いて、意味のある履歴書を書きたいと思っています。どうすればいいですか。私の履歴書を読んでいる人は、私がハッカー文化の人なのか、それともそのためにコンピューター学校に行ったのかを知ることができるはずです。 編集:主に流行語に焦点を当てた回答を考慮して、履歴書をより有意義にするものも探していることを指摘したいと思います-ハッカーと他の男との違いを読者に伝えてほしいコンピューター学校に行きました。

10
単一行のステートメントとグッドプラクティス
私は最近、多くの人が眉をひそめるかもしれないと知っている習慣を身につけましたが、最終的には、単一の(時には)反復的な方法の構造ではなく、グローバルなコード構造に目を向けるのに役立ちます:次のような1行のステートメント textBox1.Text = "Something!"; textBox2.Text = "Another thing!"; textBox3.Text = "Yet another thing!"; とは対照的に textBox1.Text = "Something!"; textBox2.Text = "Another thing!"; textBox3.Text = "Yet another thing!"; コードの全体的な「美しさ」を維持し、プログラム構造を簡単に追跡できるようにするために、繰り返し行うタスクでそれを使用しますが、それは良い習慣ではないことを認めます。私は実際にそれを頻繁に使用するので、これについてあなたの考えを知りたいと思います。また、私のコードを保守しなければならない人は誰でもこのアプローチに問題があると思いますか?

4
SVNからWebアプリケーションを実稼働環境に直接展開することは許容されますか
質問 SVNを運用展開に使用しない正当な理由がありますか、それとも単に個人的な好みのケースであり、SVNに対する実際のケースはありませんか? バックグラウンド 私の職場には、SVNでリリースにタグを付けてから、それらのリリースをさまざまなWebサーバーに直接デプロイするsvn coかsvn switch、本番環境に直接組み込むという文化があります。 ビルドおよびデプロイスクリプトまたは何らかのフォームまたは自動デプロイを使用しないと、ドキュメント化されていないため統合環境設定が失われると考えているため、個人的にこれに問題があります。しかし、それ以上に、見過ごされていること、そのheadい頭をまだ育てていないことをすることには隠れた危険があるかもしれないという直感を持っています。 私は、さまざまな環境(ステージング、プリプロダクション、プロダクション)などにコードをデプロイする責任がある運用スタッフに懸念を提起しました。 編集: ビルドとデプロイの意味: たとえば、開発者が特定の環境にweb.config設定を追加する必要がある場合。通常、Web.configはsvnに保持されないため、これらのファイルは、自動ビルドスクリプトの形式なしで手動で更新されます。そのため、それらが失われたり、OPSがリリースのweb.configにフィールドを追加するのを忘れると、問題が発生します。 XMLPokeを使用して特定の環境に適したweb.configを自動的に生成するというビルドスクリプトは、各環境に必要なすべての変更を文書化するバージョン管理可能なスクリプトがあるという点で理想的です。 現在のビルドおよびデプロイ方法 問題のプロジェクトの場合、開発者は手動でリリースをビルドしますが、他のプロジェクトではビルド手順がNANTまたはMSBuildで自動化されています。 ほとんどのプロジェクトのデータベース移行は、DBスクリプト、移行スクリプト(Migrator.NET)、またはCMSパッケージを介して行われます。 CIは通常、チェックインごとにTeam Cityによって行われます。すべてのチケットはブランチで行われ、トランクにチェックインする前に検証と正確性/品質についてピアレビューされるコードレビュープロセスがあります(うまく機能します)。 ただし、実際のコードの展開は、タグ付きリリースのチェックアウトまたはより一般的にはSVNスイッチのいずれかを介して、ほとんど常にSVNを介して行われます。これは、リポジトリをデプロイプロセスの一部として使用しているという点で奇妙に思えます。 通常、構成はあまり頻繁に変更されず、構成ファイルに含まれるのは環境固有の情報のみです。それ以外はすべてデータベースにあります。 これがうまくいくと誤解しないでください。ただし、自動化されたビルドとデプロイを試してみてください。これをRailsとCapistranoで使用し、Cygwin、Nant、SSHを使用した個人プロジェクトにも使用しました。 さらに重要なことは、自動化されたビルドとデプロイを使用するように同僚を変更するには、非常に具体的な有効な引数が必要だということです。 それとも、SVNを使用して本番環境にデプロイすることに対して実際に有効な引数はありませんか?

7
「正規表現」、「正規表現」、「正規表現」の標準的な短縮方法は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 正規表現を短い方法で呼び出すより標準的な方法を知りたいです。正規表現と正規表現の両方を見ました。 Googleによると、正規表現の正規表現のヒット数はほぼ2ですが、検索方法によって異なります(単語の後に「正規表現」を追加すると、「正規表現」が「正規表現正規表現」になり、結果は異なります)。また、stackexchangeにはregexタグがあります。:) それを短縮するより適切な方法は何ですか? おそらくそれは問題ではありません。:)しかし、答えてくれてありがとう。

7
毎日の貢献をどのように測定できますか?
私は最近終えた惨めな仕事のザスリー兆しをパトリック・レンシオーニことで、彼のコアのアイデアの一つは、あなたが持っている必要があるということですいくつかの測定値の形を。 私はかなり標準的な内部開発者の仕事をしていて、そこで新しいツールに取り組み、書いた過去のツールのサポート/バグ修正を行います。 純粋に個人的な充足の理由から、毎日どのようなことを測定しますか?(これは管理者へのレポートではなく、ゲームへのレポートではなく、単に進捗を記録するためのレポートです)。 目標は、生産性だけでなく、あなたがしている仕事の良さを測定するものを見つけることです(したがって、顧客サービス担当者は、行われたコールの数に加えて肯定的な対話を記録する場合があります)。 これを突き刺すのは、毎日2つのことを測定することです。オープン/クローズされたサポートリクエストとソース管理へのチェックインの数です。 これが閉じられるかどうかはわかりますが、これは管理についての質問ではなく、プログラマ/ソフトウェア開発者としての個人的な開発についての質問ではありません。

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