ソフトウェア工学

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

10
仕事に長く留まるようなことはありますか?[閉まっている]
最近、いくつかの「ジョブホッピング」関連のスレッドを読んだ後、ジョブホッピングの反対も問題になる可能性があると考えてきました。 私は多くの人々(特に大規模で比較的低迷している企業)を知っていますが、10年または15年以上と言って非常に長い間、くっきりと挑戦的な役割で快適に過ごしました。彼らは内部で少し動き回ったかもしれませんが、それはベテランの採用マネージャーが言うように、「1年の経験が15回以上」の場合がほとんどでした。別の言い方をすれば、それらは「特別プロジェクト」のケースでした。これ以上学習が行われない快適な役割に座っているだけですが、関与しているさまざまなものが少し装飾されていれば、紙の上では(CVで)大丈夫に見えるかもしれません。 これについて本当に考えさせられたのは、私の履歴書での最長の役割(ほぼ6年)がこのカテゴリにある程度、少なくとも穏やかに適合するということです。私が完全に知的に正直であったなら、私は本当にそれから3年の学習経験しか得られなかったと思います。過去2〜3年は、保守が簡単なモードでした。だから私は、15年の経験を持つ多くの「シニア」(そのような仕事をずっとしていた場合)よりも広く経験し、「シニア」(15年の品質を持っているという点で)ではない可能性があることを直接知っています経験)彼らが紙の上で見るように。 だから私の質問は-同じ仕事で非常に長い間ぶらぶらしていると、赤い旗が上がるのですか?例:大学卒業後、15年の仕事が1つしかないCVを見ると、代わりに4〜5年のスティントを持つ経験豊富な人とは対照的に、シングルジョブの男は「特別プロジェクト」のように見えますか「たった1つの非常に長い仕事を持っていた場合?私の経験は、それが非常にありそうであることを示唆しています。あるいは、少なくとも5年の経験を持つ人は、さまざまな役割、環境、技術(およびすべての仕事で同じ技術を使用している場合でも異なる用途)を経験したことから、おそらくより動的で順応性があると考えられます。 編集:私は個人的に私の歴史がこのように見えることを心配していないことに注意してください。上記の私の最も長い役割は、簡単な長期的な役割で何が起こるかを示す小さな例であり、一般的な用語でこれについて考えさせられました(もしあれば、私の実際の雇用履歴(その最も長い役割を除く)は少し仕事の趣味も)。

5
タスクが思っているよりもはるかに長くかかる理由を非技術者に説明する方法は?[閉まっている]
ほとんどすべての開発者は、次のようなビジネス側からの質問に答える必要があります。 なぜ、この簡単な問い合わせフォームを追加するのに2日かかるのでしょうか? 開発者がこのタスクを見積もるとき、彼らはそれをステップに分割するかもしれません: データベースにいくつかの変更を加える DBの変更を最適化して速度を向上させる フロントエンドHTMLを追加 サーバー側のコードを書く 検証を追加 クライアント側のJavaScriptを追加 単体テストを使用する SEOセットアップが機能していることを確認してください 確認メールを実装する コードをリファクタリングして最適化して速度を向上させる ... これらは、基本的にタスク全体をHTMLをまとめてデータを保存するためのテーブルを作成するものと見なしている、技術に詳しくない人に説明するのは難しいかもしれません。彼らにとっては、最大で2時間です。 では、なぜ推定値が開発者以外にとって高いのかを説明するより良い方法はありますか?


14
プログラマーは一般的にどのくらいの期間、業界に滞在しますか?[閉まっている]
私が長年にわたって耳にしたことの1つは、ITの世界で働いている人は一般に生涯のキャリアを終わらせないが、「燃え尽き」、他の無関係なことをする新しいキャリアを始める傾向があることです(例ソフトウェア開発から会計士になるまで)。 これがあなたの経験で一般的に正しいことを発見しましたか?もしそうなら、新しいキャリアを始める前に人々が開発者として働いている期間についての一般的な印象は何ですか?
60 experience 

16
FizzBu​​zz-本当に?[閉まっている]
「インタビューテスト」の質問に関しては、FizzBu​​zzの主題がしばしば取り上げられます。それについてのCoding Horrorの投稿もあります。 さて、このようなサイトを読むのが面倒なら、おそらくFizzBu​​zzを些細なもの以外の何かと思うプログラマーの人口統計学にいる可能性は低いでしょう。 しかし、プログラマの99%がそれに苦労するのは本当ですか? 本当に? これを裏付ける証拠は何ですか? いくつかの実際の例は、この質問に答えるのに非常に役立ちます。
60 interview 


16
boolean_variable == falseよりも!boolean_variableを使用する理由
この質問に対するコメント:メソッドがfalseを返すかどうかを確認する:結果を一時変数に割り当てるか、メソッド呼び出しを条件に直接入れますか?条件をテストするときの!boolean代わりに使用する必要があると述べていますboolean == false。どうして?私にとってboolean == falseは、英語ではもっと自然で、より明確です。これが単なるスタイルの問題である場合は謝罪しますが、この好みに他の理由があるかどうか疑問に思っていましたか!boolean?

4
唯一の開発者として(今のところ)、Gitをどのように使用すべきですか?[閉まっている]
Gitには複数のプロジェクトがあり、それらを最終的に他の人に紹介したいと思っています。ただし、現在は私だけで、GitとGitHubを非常に単純に使用しています。ブランチはなく、基本的にコミットをローカルファイルのバックアップとして使用しています。時々、以前のバージョンのファイルを参照して参照することもありますが、この時点までロールバックする必要はありませんが、将来必要になる場合はオプションを高く評価します。 唯一の開発者として、現在利用できるGitまたはGitHubの機能は何ですか?私のワークフローはどのようなものですか? また、今後プロジェクトに他の人を追加することを見越して、始める必要がある特定のプラクティスはありますか?

5
ソースファイルの著作権表示/免責事項
オープンソースプロジェクトの各ソースファイルに著作権表示、さまざまな法的免責事項、場合によっては完全なライセンス契約さえ置くことは一般的な慣行です。これは本当に(1)オープンソースプロジェクトと(2)クローズドソースプロジェクトに必要ですか?これらの通知をソースファイルに入れることで、何を達成または防止しようとしていますか? 私はそれが法的質問であることを理解しており、ここで完全に有能な答えを得ることができるとは考えていません。プログラマー向けです。 、それは「誰もがそれをやる」からですか、それともあなたは法的助言を得たのですか?その理由は何ですか?

2
目的がわからないコードのテストを書く
私は最近、ブラックボックスのリファクタリングを完了しました。テストする方法がわからないので、チェックインできません。 高レベルでは、クラスBから値を取得する初期化を含むクラスがあります。クラスBが「空」の場合、適切なデフォルトが生成されます。クラスBを同じデフォルトに初期化するメソッドにこの部分を抽出しました。 どちらのクラスの目的/コンテキスト、またはそれらがどのように使用されるかについてはまだ解明していません。そのため、空のクラスBからオブジェクトを初期化することはできませんし、正しい値を持っている/正しいことを行っていることを確認してください。 私の最善のアイデアは、元のコードを実行し、初期化されたメンバーに応じてパブリックメソッドの結果をハードコードし、それに対して新しいコードをテストすることです。この考えに漠然と不快感を覚える理由を明確に述べることはできません。 ここにはより良い攻撃がありますか?

7
コードカバレッジは未使用のメソッドを強調しています-どうすればよいですか?
私は、既存のJavaプロジェクトのコードカバレッジを増やすように依頼されました。 コードカバレッジツール(EclEmma)が、どこからも呼び出されないメソッドを強調していることに気付きました。 私の最初の反応は、これらのメソッドの単体テストを書くことではなく、ラインマネージャー/チームにそれらを強調し、これらの機能がそもそもなぜあるのかを尋ねることです。 最善のアプローチは何でしょうか?それらの単体テストを作成するか、それらがなぜ存在するのか疑問に思いますか?

3
プログラムの起動/初期読み込みウィンドウの名前?
よく説明しようとしているサードパーティのプログラムを含むユーザードキュメント(SOP)を書いています。そのようなプログラムの1つは、初期化/起動ルーチン中に表示されるグラフィック以外に、起動の表示をほとんど提供しないサーバーです。 開発者として、このウィンドウをクイックステータスインジケーターとして使用し、これを聴衆(オペレーター/エンジニア)に伝えたいと思いますが、それが何と呼ばれるかわかりません。私の最初の質問は、起動時に表示されるグラフィックに正式な名前または広く受け入れられている名前があるかどうかです(以下の例)。第二に、観客にアイデアを素早く(そしてグラフィックなしで)伝えるこれを参照する好ましい方法は何ですか? 例 |

5
コンピューターはゼロで除算しようとしますか?
我々はすべて知っ0/0ているUndefinedと私は電卓にそれを入れていた場合はエラーを返し、私はプログラムを作成した場合、私はゼロによる除算しようとすると、(Cで少なくとも)OSは、それを終了します。 しかし、私が考えていたのは、コンピューターがゼロで除算しようとするのか、それとも「組み込みの保護」があるだけなのか、それ0/0を計算しようとする前でもエラーを返すのですか?

3
アジャイル環境でアーキテクチャ設計はどのように行われますか?
アジャイルアーキテクトの原則を読んで、次の原則を定義しました。 原則#1システムをコーディングするチームがシステムを設計します。 原則#2動作する可能性のある最も単純なアーキテクチャを構築します。 原則#3疑わしい場合は、コーディングします。 原則#4構築し、テストします。 原則#5システムが大きいほど、滑走路は長くなります。 原則#6システムアーキテクチャは役割のコラボレーションです。 原則#7イノベーションに関する独占権はありません。 この論文では、アーキテクチャ設計の大部分はコーディング段階で行われ、その前のシステム設計のみが行われると述べています。それは結構です。 それでは、システム設計はどのように行われますか?UMLを使用していますか?または、インターフェイスと主要なブロックを定義するドキュメントですか?たぶん何か他に?

10
より良いShow()+ Hide()またはSetVisible(bool visible)ですか?
何が良くて、なぜですか?(インターフェース設計の観点から): A)2持っているShow()とHide()機能を b)1つのSetVisible(bool visible)機能を持つ 編集:たとえば、一部のオブジェクトには可視性の状態があり、この関数を使用して変更します。 C)3つのすべての持っているためにShow()、Hide()、SetVisible(bool visible)機能を
59 java  c++  interfaces 

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