ソフトウェア工学

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

3
プロパティセッターにロジックを追加することは悪い習慣と見なされますか?
プロジェクトに飛び込んだところ、他の開発者が合成プロパティのセッターに多くのロジックを追加していることがわかりました。私はこれがどのように機能するかを理解していますが、プログラムの流れを理解するのが難しくなると思います。コードを読んでいる間、表示されるたびにself.something = whatever、somethingのセッターがオーバーライドされているかどうかを常にチェックしています。 このトピックに関するあなたの意見は何ですか?これは、悪いアーキテクチャのサインであるか、精巧なソリューションであると思いますか? 関連するリンク/ソースがある場合、これについてもっと読んでうれしいです。良いGoogleの結果を得るのはあまりにも難しいので、ここでも尋ねることにしました。 答えてくれてありがとう、あなたがタグを見なかった場合の客観的なCについて話していることに注意してください(これは私が推測する言語固有の問題ではないはずですが)。

8
時代遅れの技術で開発する利点は何ですか?[閉まっている]
少しの背景: 私は大企業で働いており、Windows XPを使用し、VB6 / VB.NetでWinformsをコーディングし、VB.NetでいくつかのWebFormsをコーディングしています(95%のメンテナンスコード)。4:3 19インチの画面が1つあります。Windowsの最新バージョンは近日中にリリースされる予定ではありません。 入社時にこれについては何も言われていませんでしたが、もっと最新のテクノロジーやフレームワークを使って作業することになると誤解されていました。 私は以前の仕事で、より現代的なフレームワークと他のプログラミング言語の両方でより多くの最新の経験があり、他の会社の開発者の友人に追いつくとき、彼らが最新のASP MVCフレームワークをどのように使用しているのかを耳にしますVagrant / Ruby on Rails /など、私は緑色の目をしています! 私は別の仕事でかなり早く自分を整理することができましたが、これにもう少しチャンスを与えるべきだと感じています。 質問: 私は自分の現在の仕事がそれほど悪くないことを自分自身に納得させようとしています。それでは、このような役割の利点は何ですか?時代遅れのテクノロジーを使用する利点はありますか?おそらく、私はもっと新しいものを使って作業するのを拾わないいくつかのテクニックですか?または、これは職業が死ぬ場所であり、私はまだ魂を持っている間に出るべきです?
28 skills  legacy 

11
Cでのシフトと乗算の時間の違いをテストすると、違いはありません。どうして?
バイナリのシフトは、2 ^ kを乗算するよりもはるかに効率的であると教えられました。だから私は実験したかったので、次のコードを使用してこれをテストしました。 #include <time.h> #include <stdio.h> int main() { clock_t launch = clock(); int test = 0x01; int runs; //simple loop that oscillates between int 1 and int 2 for (runs = 0; runs < 100000000; runs++) { // I first compiled + ran it a few times with …

10
大学レベルのプログラミングと企業プログラミングの違いは何ですか?[閉まっている]
IT分野の学士号を取得しました。私はコーディングに深い興味があり、本当にプロになりたいと思っています。現在、大学のコースとは別に、私は自分でプログラミング(C#)を学んでいます(大学レベルのプログラミングは基本的すぎます)。今では、プロのプログラマーに近づくにはもう少し時間が必要だと感じています。しかし、私の先輩の何人かは、企業の世界のプログラミングは本っぽいプログラミングとあまりにも違うと言っているので、時間を無駄にする意味はありません。(彼らはプログラマー自身ではありません。これはおそらく彼らが聞いたことでしょう)。 上級レベルのC#に到達することでメリットがありますか?または、インタビューを破るには平凡なレベルで十分なので、企業レベルでは物事がどのように機能するかを教えるためだけにトレーニングに頼っているので、より高いレベルは企業にとって重要ではありません。助けてくれるプロのプログラマーがいるなら、これがプログラミングに興味のあるすべての学生について私のステージで聞きたいことだと約束します。「プログラミングの分野で実際に学習者から専門家にどのように変わりますか?」-完璧になるまで学習を続けるか、基本をカバーしたら会社に入社する必要がありますか?

3
ガベージコレクターを除き、Javaを非リアルタイムプログラミング言語にするもの
ガベージコレクタを除き、リアルタイムプログラミングに適さないJavaのその他の機能は何ですか?ネット上では、Java vs C ++がリアルタイムプログラミングに関して議論されるときはいつでも、言及されるのは常にガベージコレクターです。他に何かありますか?

4
Java 6からJava 7への移行を正当化する方法は?
Java 6からJava 7に移行していました。このプロジェクトは予定より遅れており、リスクが低下しています。その場合、引き続きJava 6を使用します。 マネージャーに戻って、JDK 7を使用することが重要であると確信できるJava 7の具体的な改善点は何ですか?(Java 6に関して)Oracle Java 7で強調できるバグ修正を探しています。私の場合、セキュリティ、パフォーマンス、Java 2D /印刷などの修正がより売れるでしょう。たとえば、コンパイラの修正はあまり役に立ちません。 [ Oracle導入ガイド、バグデータベース、Stack Overflow に関する質問など、多くのサイトを調べています]。 更新:答えてくれてありがとう。更新を次のリリースに再スケジュールしました。最も近いのはセキュリティです。最も投票数の多い回答を受け入れます。
28 java  migration 

3
企業が帰属なしでオープンソースコードを使用する許可を要求した場合、どうすればよいですか?
現在、MITライセンスの下にオープンソースプロジェクトがあります。会社から、帰属やクレジットを与えることなく、自分のコードを商業プロジェクトに使用するようにというリクエストを受け取りました。 正直に言うと、コードをリリースしたとき、私の唯一の意図は仲間のプログラマーを助けることだけであり、私が信用されているかどうかはあまり考えませんでした。ライセンスの選択は、codeplexでプロジェクトをセットアップするために私がしなければならなかったステップの1つにすぎません。 一方で、彼らが実際に迷惑をかけたことを光栄に思っており、感謝している一方で、費用なしで許可しただけでオープンソースの精神が破壊されるかもしれないと感じました。 私または他のコード所有者がそれを公正な取引にするために会社に要求または要求できる典型的なことは何ですか?私もそれを許可する必要がありますか? 会社に公式の意図書を書くように依頼することを考えており、より正式なものにするためだけに署名します。また、私の選択したプロジェクト/慈善団体への寄付をリクエストしたり、ウィッシュリストにある補償として何かを購入したりすることもできます(あまり高価ではありません)。それは多すぎますか?

1
フレームポインターの説明
で組み立てMIPS、スタックポインタのためのレジスタ、およびフレームポインタのための別のレジスタがあります。フレームポインタとは何ですか、その目的は何ですか?スタックポインターとの違いは何ですか?
28 assembly  stack 

3
Javaのブールプリミティブ型名が 'bool'ではないのはなぜですか?
Javaには int そして Integer boolean そして Boolean これは少し矛盾しているようです、なぜ boolvs Booleanプリミティブ型に確立された短い名前を使用するのですか? または integervs Integer型名の一貫性を保つために? 私が考えて C ++を使用することを決めたboolJavaが使用することに決めたよりもかなり早くboolean、そしておそらくまた、いくつかの(一度に非標準?)Cの拡張もそうするために歴史的な順位があっただろうbool。私はしばしばbool最初に本能的に使用しようとすることに気づきました(現代の編集者は余分なコンパイルラウンドなしですぐにこれを見つけます)。 誰かがそのストーリー(の一部)を覚えているか、ネットで関連する歴史的な議論を見つけてリンクすることさえできれば、それは素晴らしいことです。
28 java  history  boolean 

10
コンパイラーとインタープリターにバグはありますか?(ユーザーとして)バグに対処するにはどうすればよいですか?[閉まっている]
コンパイラの作業が本質的にソースコードをマシンレベルのコードに変換することである場合、コンパイラに不具合、つまり障害のある「翻訳」が存在する可能性があります 通訳についても同じことが言えます。必要なコンテンツを出力できない場合がありますか? コンパイラ/インタープリターのバグを聞いたことはありませんが、存在しますか?

3
「デコイ」機能または意図的なバグの用語は何ですか?[閉まっている]
俗語のプログラミング用語を忘れてしまいました。これは意図的なバグまたは気晴らしとして使用されるおとり機能です。使用例は、「ボブ、QAが今日レビューを行っています。$THING実際に見つけるべき問題があるようにモジュールに入れてください」。 これは、実際の問題から注意をそらすものとして発見するための非常に明白な意図的な欠陥を持つために、否定的に使用することができます。 これも積極的に使用できます。被災地を捜索するときに、常に救助犬に被害者を「見つけさせる」方法と同じです。また、QAプロセスが実際に欠陥をキャッチしていることを確認するためにも使用できます。 私が探している用語は何ですか?

3
F#でrecキーワードが必要なのはなぜですか?
F#では、recキーワードを使用する必要があります。Haskellでは、特定の関数が再帰的であるかどうかを明示的に伝える必要はありません。 関数型プログラミングにおける再帰の役割を考えると、F#の設計はかなり奇妙に思えます。それは良い言語設計の決定ですか、それとも歴史的な理由または実装の制約のためにのみ存在しますか?

6
唯一の開発者がいなくなったらWebアプリケーションを維持する
私は末期疾患を患っており、年末までにこの世界にいなくなる可能性が非常に高いです。 私は家族のビジネス(小さな理髪店)で広く使用されているWebアプリケーションを開発しました。私の家族の誰も、プログラミングやシステム管理のスキルを持っていません。私はそれらのスキルを持つ親友もいません。 このビジネスは、年間最大10万の純利益を上げています。実際、企業の利益は3人の従業員(父、母、姉妹)の給与を支払うだけの余裕があり、それらは金融危機により毎年非常に低く、減少しています。実際、私は家族のビジネスの従業員ではなく、通常のソフトウェア開発会社で働いています。空き時間にアプリケーションを開発して、彼らを支援しました。 これまでのところ、他のビジネスでもアプリケーションを使用しているかどうか、またはアプリケーション自体が所有権を失っても気にしません。私はちょうど私の家族のビジネスがそれを使い続けることができることを望みます。それは何かがうまくいかない場合のシステム管理サポートと新しい機能/バグの開発を意味します。 アプリケーションの継続性を可能な限り保証するために、私が講じることができると思われる対策を提供していただけないかとお聞きしたいと思います。 アプリケーションのテクノロジーは次のとおりです。 プラットフォーム:Tomcat(Java)、MySQL、Linux フレームワーク:主にJPAおよびZK

4
関数ではなく変数としての関数宣言
関数が次のように宣言されるのをますます見ています var foo = function() { // things }; 私が学んだ方法の代わりに function foo() { // things } 違いは何ですか?よりよい性能?範囲?この方法を使用する必要がありますか?

7
チームメイトに基本的なルールに従うよう説得する方法
チームメイトに問題があります。簡単に言えば、私たちはコンテストのプロジェクトで働く3人の学生です。このプロジェクトは、2つの個別のアプリケーションで構成されています。1つはWindows用(もう1つは開発中)、もう1つはAndroid用(私の同僚が開発に責任を負います)です。コードベースが交差することはなく、アプリはサードパーティのツールを介して通信します。 問題は次のとおりです。昨年大企業でインターンシップを行ったときにチームで働いた経験があり、コードのコーディング標準を強制しようとしています。また、コードをプッシュしたり、アイデアを書いたり、プロトコルを文書化したりするために使用できるgitリポジトリ/ wiki /コラボレーションソフトウェアも設定しましたが、これらのツールを使用しているのは私だけであるようです。 質の高いコードを書いて、すべてのステップを文書化することは長期的には私たちに利益をもたらすと彼らに伝えようとしましたが、彼らはそれの利点を理解していないようです。また、いくつかの統合テストを追加することを考えていましたが、私が見ることができることから、彼らが生活を楽にするために現在のツールを使用しない限り、統合テストの有用性を説得することはできないと思います。 ピアのコードのほとんどは自分のコンピューター上にあり、共通のコードベースを共有していません。私が知ったように、彼らはusbスティックを介してコードを会議および共有することで、それらの部分を統合しました。 私の質問は次のとおりです。いくつかの不条理なルールを施行しますか?これは小さなプロジェクトであり、要件は非常に明確であることに注意してください(アプリケーションの動作を指定するドキュメントを作成しました)。3人の熟練した開発者が3〜4日でこれを行うことができます。現在のメソッドが機能する限り、コードを作成します。 gitなどを使用してコードをドキュメント化することの利点を示す方法はありますか?

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