ソフトウェア工学

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

13
量産コードのみのSubversion /ソース管理?
私は1年前にコンピューターサイエンスの大学を卒業し、現在は小規模なWeb開発会社(私と他の1人の開発者、マネージャー、カスタマーサービス、テスター)で働いています。始める直前まで、ソース管理システムはありませんでした。現在、SVNの実装を徐々に始めていますが、他の(シニア)開発者(以下、Joeと呼ぶ)は、SVNリポジトリにコミットする必要があるコードは、本番用としてテストおよび承認されたコードのみであると主張しています。つまり、大規模なプロジェクトでは、一度に数週間以上コミットが行われない可能性があります。 これは通常の習慣ですか?次のようなソース管理の多くの利点を失うように思えます。 プロジェクトの進捗状況をきめ細かく追跡 問題が表示され解決されたときの問題の追跡 ミスを簡単にロールバック コードの簡単なバックアップ。ワークステーションがダウンした場合でも多くを失うことはありません ここで説明するように、リビジョンを実行可能ファイルにスタンプすると仮定すると、どの生産サイトでどのコードが実行されているかを正確に識別しやすくなります。 簡単なコラボレーション(チームワークは行いませんが、すべてソロプロジェクトです) 等。 編集:歴史的に、この会社には真のチームワークがなかったことを強調する必要があります。2人の開発者が別々のプロジェクトに取り組んでいます。また、多くのプロジェクトは小規模であるため、数週間で完了することができます。そして、同社は10年以上ビジネスを続けており、ソース管理なしで順調に進んでいます。通常、プロジェクトは予定時間内に完了します。

15
リファクタリング:コードをクリーンアップするための単なる凝った言葉ではありませんか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 Martin Fowlerの本「Refactoring:Improving the Design of Existing Code」が出てくる前は、コードの大きな変更を「再構築」、小さな変更を「クリーンアップ」と呼んでいました。IMO、リファクタリング技術はすべて常識であり、私たちがこれまでずっとやってきたことです。 リファクタリングは新しいものだと思いますか?おそらく、管理をtrickしてコードをクリーンアップする時間を割り当てる方法でしょうか?

5
Lispが実際に人工知能の他の言語よりも優れているという証拠はありますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 AIのほとんどの言語よりもLispの方が優れているという長年の信念があるようです(主に非盗聴者による)。 この信念はどこから生まれたのですか?それに実際に根拠はありますか?

9
本物のプログラマーになるためには、アルゴリズムを学ぶことが不可欠ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 私はPHPプログラマーであり、今までアルゴリズムを学ぶ必要はありませんでした... matplotlibを使用する必要があるため、Python(実際のプログラミング言語)の学習を始めました。Pythonアルゴリズムの本を読んで始めてからmatplotlibとnumpyを学ぶのは理にかなっていますか、それともmatplotlibとnumpyにジャンプする必要がありますか? 宜しくお願いします、

5
仕様書はどの文法時制で書くべきですか?
現在、機能および技術仕様を2列形式で作成しています。要約文と技術的詳細。詳細は、多くの場合、図、レイアウト設計などの付録を参照しています。 しかし、私はそれをどのように書くのに苦労しています: 過去の時制のように、作業が完了したかのように、既存の作業のハイライト拡張を示すのに苦労します。Xを行う必要があるため、将来の時制は、やることリストまたはTenseニュートラルのように聞こえます。 さらに混乱を加えるために、この仕様は、第一言語として英語を持っていない人々によって読まれるかもしれません。

7
開発者は、商用Androidアプリを構築するために何を知っている/対処する必要がありますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 Androidおよびモバイル開発は、エキサイティングな開発分野です。それは新しい分野であるため、アンドロイド開発者がスキルの点で商業的に堅牢なアプリケーションを構築するために期待されることは何ですか?私や私が思うに、この技術に興味を持つ他の多くの「初心者」が知りたい問題は、技術スキルの分野と、Googleが提供する非常に基本的なものを超える必要な高度なトピックへの進歩です。非常に役立つ情報はたくさんありますが、規律や秩序のカテゴリに分類されていません。 更新:このように見てください。あなたが上級開発者であり、特定のプロジェクトのために仲間の同僚にAndroidの速度を上げる必要がある場合(この質問に対するあなたの裁量で)、どうしますか?
21 learning  android 

7
ライブラリをプロセス外に移動してGPL違反を回避する
GPLの下でライセンスされているライブラリがあると仮定します。使用したいのはクローズドソースプロジェクトです。私は次のことをします: ソケットをリッスンするGPLライブラリの周りに小さなラッパーアプリケーションを作成し、メッセージを解析してGPLライブラリを呼び出します。その後、結果を返します。 ソースをリリース(GPLに準拠) メインアプリケーションでこのラッパーのクライアントを作成し、ソースをリリースしないでください。 これにより、静的/動的リンクに比べて大きなオーバーヘッドが追加されることは知っていますが、理論的な方法に興味があります。
21 licensing  gpl 

4
「品質のカルト」を作成する方法[終了]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前に閉鎖されました。 DeMarco and Lister(Peopleware)は、プログラミングチーム内で「品質のカルト」を作成することをお勧めします。不満なことに、彼らはあなたがそれをどうやってやろうと提案していない! 誰もこれを達成する方法について考えを持っていますか?

11
Javaでヌルを処理する最良の方法は?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 NullPointerExceptionが原因で失敗するコードがあります。オブジェクトが存在しないオブジェクトでメソッドが呼び出されています。 しかし、これにより、これを修正する最良の方法を考えるようになりました。nullポインタ例外のコードを将来的に保証するために、nullに対して常に防御的にコーディングするか、nullの原因を修正してダウンストリームで発生しないようにする必要がありますか。 あなたの考えは何ですか?
21 java  null 

8
Perlの初心者はPerl 5と6の両方を学ぶべきですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 私は最近Perl 5をいじり始めましたが、とても興味深いようです。できる限り、時間をかけてもっと深く学びたいと思います。 私の質問は、Perl 6がゆっくりと行われ(私は信じている...)、後方互換性を破ると言われているので、これは次のとおりです:Perl 5を学習してからPerl 6を学習するか、Perl 6を直接学習するほうがより良い時間投資ですあなたへ? Perl 5から6への変更がPerl 5の理解を難しくしている場合、「古い」スクリプトを読むことができるようにPerl 5から始めてから、Perl 6をチェックする必要があります。リリース」問題。Perl 6のアーリーアダプター実装があることは知っていますが、Perl 6が数年前に公式にリリースされない場合は、今のところ5に固執します。 私は確かにこれに関するいくつかの洞察が欲しいです。関連するものについて気軽に議論してください。スクリプト言語に対する私の関心はかなり新しいものです。 ありがとう!

12
Flash Webサイトからクライアントを話す方法は?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 私は最近、口コミの推奨事項のみを通じて、多くのWebサイドプロジェクトを行っています。私はデザイナーというよりもプログラマーですが、私の設計スキルはひどくなく、多くのプログラマーのようにUIを扱うことを嫌いません。その結果、コンテンツ管理のための最小限のバックエンドは別として、ほとんどのプログラミングがフロントエンドインターフェイス(javascript / cssを読む)で行われるサイドプロジェクトに魅了されます。 私が経験した最大の不満は、クライアントがFlashを望んでいないことを納得させることです。Flashの「開発」が本当に好きではないという事実は別として、Flashが望ましくない多くの実用的な理由があります(デバイス間の互換性の欠如、クライアントのアクセシビリティの低下、プラグイン要件、開発時間の増加など)。クライアントに「フラッシュウェブサイトを構築しません」と言うのではなく、戦術を使用して、これが実際に望んでいるものではないことを納得/説明します。 / css / jsを使用して、ユーザーのコンテンツをそらします。 他の人はこれに関してどのような実体験をしますか?通常、javascript / css / AJAXがほとんどのWebサイトにとってより良い選択肢であることを誰かにどのように説明しますか?なぜ人々は最初からFlashを使いたくないのですか? この質問は、フラッシュを望む技術的な理由はないが、それがきれいなウェブサイトを作ると思うので、それが欲しいだけのクライアントに関係しています。
21 javascript  html  css  ajax  flash 

19
7歳の子供にマルチスレッドをどのように説明しますか?
ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 マルチスレッドの概念を7歳の子供に説明する必要がある場合、どうしますか?最近、インタビューでこの質問を受けました。私は仕事(やるべき仕事)と労働者(スレッド)を使ったストーリーを思いつきましたが、それは完全に納得のいくものではありませんでした(子供は若すぎると考えています)。 これについて説明するように頼まれた場合、どうしますか?

11
ソースコードを顧客に引き渡す
顧客向けにいくつかのiPhoneアプリケーションを作成しましたが、今日、必要に応じてメンテナンスを行えるようにソースコードを引き渡すように依頼されました。これまで、コードの問題は議論されていませんでした。 これに関して「一般的な」慣習はありますか? また、これはどのように価格に影響しますか?

11
使用している継続的インテグレーションフレームワークとその理由 [閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 6年前に閉鎖されました。 そこにはかなりの数の異なる継続的インテグレーション(CI)フレームワークがあり、どれが最も人気があるのだろうかと思っています。勤務している企業でどのフレームワークを使用しましたか? あるCIフレームワークが他のCIフレームワークよりも人気がある理由はありますか?おそらく、それが提供する機能、それに統合されるもの、またはその単なるマーケティングによるものでしょうか? rubyやpythonよりも、Javaと.netの世界では継続的インテグレーションがより多く使用されているようです。どうしてこれなの?

9
CはC ++とどう違うのですか?
多くの人が、C ++はCとはまったく異なる言語であると言っていますが、Bjarne自身は、C ++はCから拡張された言語であるため、それが++由来していると述べています。それでは、なぜ誰もがCとC ++は完全に異なる言語であると言い続けるのでしょうか?C ++の拡張機能を除いて、CはC ++とどのように違いますか?

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