ソフトウェア工学

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

6
FacebookがPHPコードをC ++に変換するのはなぜですか?[閉まっている]
FacebookはPHPで始まり、速度を上げるために、PHPをC ++コードとしてコンパイルするようになりました。もしそうなら、なぜそうしないのですか: C ++でプログラムするだけですか?PHPをc ++コードに移植する魔法のコンパイラボタンを押すと、間違いなくいくつかのエラー/バグがあるはずですよね? この印象的なコンバーターが非常にうまく機能するのであれば、なぜPHPにこだわるのでしょうか?RubyやPythonなどを使用しないのはなぜですか?注-これら2つをランダムに選択しましたが、ほとんどの人がこれらの言語でのコーディングは「喜び」だと言っているためです。それでは、なぜ素晴らしい言語で開発してから、魔法のc ++コンパイルボタンを押してみませんか?
42 c++  php  compiler  facebook 

10
コードをクリーンアップするために定期的な時間をスケジュールすることは良い考えですか?[閉まっている]
私は小さな開発者チームを管理しています。コードをクリーンアップするために、1〜2日を費やすことにします。 コードベースをクリーンアップするために、2か月ごとに1週間などの定期的な時間をスケジュールすることをお勧めしますか?

9
コードのメンテナンス:コードにコメントを追加するのか、それともバージョン管理に任せるのか?
バグの修正/ CRの実装の一環としてコードに加えた変更ごとに、開始タグ、終了タグ、説明、解決策などのコメントを追加するよう求められています。 私の懸念は、これが付加価値を提供するかどうかです。現状では、バージョン管理履歴にすべての詳細があります。これは、すべての変更を追跡するのに役立ちますか? しかし、私のリードは、コメントを「良い」プログラミング手法として主張しています。彼らの議論の1つは、CRのスコープを変更/変更する必要がある場合、コメントがないと面倒になることです。 変更は主にコードの中間にあると考えると、私たちが行うすべての変更にコメントを追加することは本当に役立つでしょうか?バージョン管理に任せてはいけませんか?

4
「スウォーミング」とは何ですか?
アジャイルまたはエクストリームプログラミングの文脈で言及された群れを聞いたことがあります。ペアリングを補完するようです。 正確には何ですか?いつ適用する必要がありますか?どうやってうまくやるの?

14
GPLライセンスで「Hello World」コードを盗まないために何をする必要がありますか?
プロジェクトでmath.cは、大きなGPLヘッダーと... //------------------------------------------------------------------------------ /// Returns the minimum value between two integers. /// \param a First integer to compare. /// \param b Second integer to compare. //------------------------------------------------------------------------------ unsigned int min(unsigned int a, unsigned int b) { if (a < b) { return a; } else { return b; } } OK、クールなので、最小値を取得する必要があります... ... …
42 licensing  c  gpl 

3
DOMの何が悪いのですか?
DOMはひどいAPIであると言っている人々(特にCrockford)の声を聞き続けていますが、この声明を正当化するものではありません。ブラウザー間の不整合は別として、DOMがそれほど悪いと考えられる理由は何ですか?

6
複雑なSQLクエリを記述しやすくするにはどうすればよいですか?[閉まっている]
私は、多くの(少なくとも3-4)テーブルにわたる結合といくつかのネストされた条件を含む複雑なSQLクエリを書くことは非常に難しいと思っています。書くように求められているクエリは、いくつかの文で簡単に説明できますが、完了するためには、途方もない量のコードが必要になる場合があります。私はこれらのクエリを書くために一時的なビューを頻繁に使用していることに気付いています。これらの複雑なクエリを簡単にするために使用できるヒントを教えてください。より具体的には、これらのクエリを、実際にSQLコードを記述するために使用する必要があるステップに分割するにはどうすればよいですか? 私が書くように頼まれているSQLはデータベースコースの宿題の一部であることに注意してください。したがって、私のために仕事をするソフトウェアは欲しくありません。私が書いているコードを実際に理解したい。 技術的な詳細: データベースは、ローカルマシンで実行されているPostgreSQLサーバーでホストされます。 データベースは非常に小さく、7つ以下のテーブルがあり、最大のテーブルは約50行未満です。 SQLクエリは、LibreOffice Baseを介して、変更されずにサーバーに渡されます。
42 sql  tips  query 

8
プリミティブデータ型とはどういう意味ですか?
プリミティブデータ型の私の理解は 暗黙的に言語によって提供されるデータ型です(その他はユーザー定義のクラスです) そのため、言語ごとに異なるデータ型のセットがあり、特定の言語のプリミティブと見なされます。そうですか? 「基本データ型」と「組み込みデータ型」の違いは何ですか。ウィキペディアによると、プリミティブデータ型は2つのうちのいずれかです。 PS-なぜ "string"型は、JavaではなくSNOBOL4でプリミティブ型と見なされるのですか?
42 data-types 

7
外部JavaScriptの参照と自分のコピーのホスト
jQueryを使用するWebアプリがあるとします。必要なjavascriptファイルをWebサイトのファイルと一緒に自分のサーバーでホストするか、jQueryのCDN(例:http : //code.jquery.com/jquery-1.7.1.min.js)で参照することをお勧めします? 私は両方の長所を見ることができます: サーバー上にある場合、外部依存関係は1つ少なくなります。jQueryがダウンしたり、ホスティング構造などを変更した場合、私のアプリは壊れます。しかし、私はそのようなことはあまり起こらないと感じています。これを行う多くの小規模なサイトが必要であり、jQueryチームはそれらを壊さないようにしたいと思うでしょう。 それが私のサーバー上にある場合、それは誰かがセキュリティの問題を呼び出すことができる1つ少ない外部参照です 外部で参照されている場合、ファイルを提供するための帯域幅を心配する必要はありません(それほど多くないことは知っていますが)。 外部で参照されており、すべてのファイルの独自のコピーを必要とする多くのサーバーにこのWebサイトを展開している場合、コピー/更新する必要があるファイルは1つ少なくなります。


7
Zend Frameworkがそれほど複雑なのはなぜですか?
私はWeb開発者であり、PHPでいくつかのWebアプリケーションを開発した経験があります。私は自分で製品を開発するアイデアを持っていますが、MVCのアイデアと、アプリケーションを簡単に管理および変更できる方法が本当に好きなので、MVCベースのフレームワークを使用することにしました。 Zend Frameworkを選択しましたが、新しいプログラミング言語を学ぶよりも難しいようです。小規模なアプリケーションを実行する場合でも、一度に多くのことが行われます。 同様に、ルーティングの概念はコアプログラマにとっては新しいため、非常に複雑です。ここにいる人たちは、私が尋ねているような数千のそのような質問を読んでいることを知っていますが、Zend Frameworkを一晩で学ぶつもりはありません。必要なだけの時間を与えたいと思っていますが、今までは意味がありません。Zendライブラリには数千のクラスがありますが、特定のクラスの使用場所と使用方法をnoobはどのように知るのでしょうか?Zend Frameworkのブートストラップとそのマッピングを理解することはまだ非常に難しいと感じています。私はマニュアルを読み、それに従い、物事は動き始めますが、実際にそれらが実際にどのように起こっているのか正確にはわかりません。 また、モデル、ビュー、コントローラーがどのように連携するか、Zend Frameworkでアプリケーションを計画する方法については、まだ何もわかりません。コアphpに関しては、どうすればよいか、コードで簡単に翻訳するよりも、アイデアが頭にありますが、Zend Frameworkでは、アイデアの翻訳方法がわかりません。

6
ソフトウェア開発者からソフトウェアマネージャーまたはチームリーダーに進むにはどうすればよいですか?[閉まっている]
私はソフトウェア開発者(パートタイムまたはフルタイム)に3年近く携わっています。私は常に、物事をリードし、物事を成し遂げるために組織を提供するためのコツを持っているタイプの人でした。大学に戻ってシニアデザインプロジェクトのリーダーを務めて以来、これはデスクコーディングの後ろではなく、これが私の真の使命であると感じていました。今、私は他の開発者が私を本当に尊敬するようにコーディングする方法を理解する必要があることを知っています。また、私はコーディングが大好きです。私は仕事以外で自宅で多くのサイドプロジェクトに取り組み、コーディングのベストプラクティスに遅れずについていき、ドメインの知識を継続的に追求しています。 私の主な質問は、コーディングの役割ではなく、より管理的な役割にキャリアを向上させるために、どのような種類または機会に注目すべきかということです。私が言ったように、私はコーディングが大好きですが、技術を支援しながら、高レベルで物事を設計し、物事を成し遂げ、進行状況を監視できるようにチームを編成できるようになりたいと思いますあちこちで決定。一日中デスクコーディングの後ろに座っているだけではなく、これらのタイプの物は本当に私を幸せにします。 明らかに、私の主な夢の1つは、最終的に爆発してそれを大きくする何らかのソフトウェアを自分で作成することです。自分の行きたい場所を得るために、自分のキャリアパスを少し変更するだけではありません。自分よりも雇用主に対して同じ満足を得ることができると思います。以前はそのように感じたことはありませんでしたが、主に自分が本当にやりたいことをしていないからだと感じています。 ヒント、ポインタ、または留意すべきことはありますか?これだけを行った人は誰ですか、もしそうなら、どうやってそれをしましたか?

2
「レッド/ブラックツリー」という用語はどこから来たのですか?
A レッド/ブラックツリーは平衡二分探索木を実装する1つの方法です。それがどのように機能するかの原理は私には理にかなっていますが、選択した色はそうではありません。他の色や属性一般とは対照的に、なぜ赤と黒なのでしょうか?「赤と黒」と聞くと、最初に頭に浮かぶのはチェッカーボードとレミゼラブルです。どちらもこの文脈では特に当てはまるとは限りません。

14
定数を使用するのは正しい状況ですか?
それで、私の教授は私が取り組んでいるプロジェクトについてフィードバックをしてくれました。彼はこのコードにいくつかのマークを付けました。 if (comboVendor.SelectedIndex == 0) { createVendor cv = new createVendor(); cv.ShowDialog(); loadVendors(); } これは、コンボボックスの「インデックス変更」ハンドラーにあります。ユーザーが新しいベンダーを作成したい場合に使用されます。私の一番上のオプション(インデックス0、変更されることはありません)は[新しいベンダーの作成]ダイアログを開きます。したがって、コンボボックスの内容は次のようになります。 Create New Vendor... Existing Vendor Existing Vendor 2 Existing Vendor 3 彼の問題は最初の行コードにあります: if (comboVendor.SelectedIndex == 0) 彼は、0は定数であるべきだと主張し、そのために実際にマークをドッキングしました。彼は、コードでリテラルを使用すべきではないと主張しています。 問題は、なぜその状況でそのコードを一定にしたいのか理解できないことです。そのインデックスは決して変化せず、微調整する必要があるものでもありません。非常に特定の状況で使用され、変更されない単一の0をメモリに保持することは、メモリの無駄のようです。
42 c# 


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