ソフトウェア工学

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

3
他の人のコードを読んでいる間、プログラマーに最も頻繁に何が起こりますか?[閉まっている]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 5年前休業。 他のコードを読むとき、あなたは通常それを理解するのに問題がありますか、それとももっと普通に、他のコードが間違っている/非効率的/フォーマットが悪いなどについて質問することですか? 最初の仕事でコーディングしたものを読んでいる人

3
ソフトウェア開発にコマンドラインを使用する利点は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、専門知識によって裏付けられると期待していますが、この質問は、討論、議論、投票、または拡張ディスカッションを求める可能性があります。この質問を改善でき、再開できると思われる場合は、ヘルプセンターにアクセスしてください。 6年前休業。 代替のGUIを使用するよりも、ソフトウェア開発にコマンドラインを使用することでどのようなメリットがありますか?特定のタスクのコマンドラインは高速ですか?特定のツールはコマンドラインからのみ利用できますか?

7
このシナリオでは、単体テストのモックが適切ですか?
私はJavaで約20のメソッドを作成し、それらすべてがいくつかのWebサービスを呼び出します。これらのWebサービスはまだ利用できません。サーバー側のコーディングを続行するために、Webサービスが提供すると予想される結果をハードコーディングしました。 これらのメソッドを単体テストできますか?私の知る限り、単体テストは入力値を模倣しており、プログラムがどのように応答するかを確認しています。入力値と出力値の両方をモックすることは意味がありますか? 編集: ここでの答えは、私が単体テストケースを書くべきであることを示唆しています。 さて、既存のコードを変更せずにそれをどのように書くことができますか? 次のサンプルコード(架空のコード)を考えます。 public int getAge() { Service s = locate("ageservice"); // line 1 int age = s.execute(empId); // line 2 return age; // line 3 } では、出力をどのようにモック化しますか? 現在、「行1」をコメントアウトして、行2をに置き換えていint age= 50ます。これは正しいですか ?誰かが私にそれを行う正しい方法を教えてもらえますか?

1
MPEG I、P、Bフレームとは何ですか?
私は最近、MPEGの記事とビデオを調べて、それがどのように機能するかを理解していました。私、P、Bフレームの機能は理解していますが、予測の計算方法がわかりません。 空から地面に落下し、最後に数回跳ねるボールが最後に停止するまでのビデオを録画したいとします。 また、16x16マクロブロックの概念も明確ではありません。教えてください: 予測の計算方法 マクロブロックとは何であり、MPEGエンコーディングでどのように役立つか 私の参照: MPEG予測 MPEG変換のビデオ
8 video 

4
同様のデータを取得するデータアクセスメソッドの重複を防ぐ方法は?
私がチームで取り組んでいるほぼすべてのプロジェクトで、同じ問題が侵入しているようです。誰かがデータを必要とするUIコードを書き、データアクセスメソッドを書きます。 AssetDto GetAssetById(int assetId) 1週間後、他の誰かがアプリケーションの別の部分で作業してAssetDtoいて、「承認者」を含む必要がありますが、次のように書きます: AssetDto GetAssetWithApproversById(int assetId) 1か月後、誰かがアセットを必要としていますが、現在は「質問」(または「所有者」または「実行中のリクエスト」など)が含まれています。 AssetDto GetAssetWithQuestionsById(int assetId) AssetDto GetAssetWithOwnersById(int assetId) AssetDto GetAssetWithRunningRequestsById(int assetId) そして、そのようなメソッドGetAssetWithOwnerAndQuestionsByIdが出現し始めると、さらに悪化します。 現れるパターンが表示されます。オブジェクトは大きなオブジェクトグラフにアタッチされており、このグラフのさまざまな部分をさまざまな場所に配置する必要があります。 もちろん、ほとんど同じことをするメソッドがたくさんあるのを防ぎたいです。それは単にチームの規律の問題ですか、それともこれを防ぐために使用できるパターンがありますか?場合によっては、個別のメソッドを使用することが理にかなっている可能性があります。つまり、実行中のリクエストでアセットを取得するのはコストがかかるため、常にこれらを含めたくありません。そのような場合の対処方法は?

6
Windows / LinuxからIOSアプリを公開する方法はありますか?
Linux(特にUbuntu)とWindows 7を長い間使用しています。iOSアプリを公開したいのですが、MacもiPhoneも持っていません。私の近くにはMacを貸してくれる人がいないので、実際に購入したくもありません。 だから私の質問は:WindowsまたはLinuxからiOSアプリを公開するにはどうすればよいですか?ジェイルブレイクしたiPhoneの公開プログラムについては言及していません。AppleStoreを通じて公開したいと考えています。 私の検索結果によると、WindowsまたはLinuxからiOSアプリを公開するための確実な方法はありません。また、有料アプリにして、無料でプレゼントしたくない。 WindowsまたはLinuxからiOSアプリを公開する方法を知っている人はいますか?

3
クライアントがメールを変更できるようにするための最良のポリシーは何ですか?
私たちは、クライアント/ユーザーがサイトを使用する前にメールアドレスを確認することを要求する、かなり標準的な登録プロセスを備えたWebアプリケーションを開発しています。このサイトでは、確認後にメールアドレスを変更することもできます(メールフィールドを再入力することもできます)。 ユーザーにメールを再確認してもらうことの長所と短所は何ですか。これも必要ですか? 編集: 以下の回答とコメントの要約: 「過剰検証」は人々を困らせるので、重要でない限りそれを使用しないでください タイプミスを防ぐために「メールの再入力」フィールドを検討してください。ただし、ユーザーはコピー/貼り付けを行って、それを無効にすることができます。 既知の良好なデータを潜在的に良好なデータで上書きすることに注意してください 通知のために古いメールを送信します。検証のために新しい ユーザーがまだ古いメールにアクセスできるとは限りません アカウントが侵害された場合の誤ったメールの影響を特定する

1
テスト駆動開発コードの注文
テスト駆動開発を使用して最初のプロジェクトを開発しています。Zend FrameworkとPHPUnitを使用しています。 現在、私のプロジェクトは100%のコードカバレッジですが、自分のコードを記述する順序を理解できていません。 私のオブジェクトが何をすることが期待されているかで最初にテストを書くべきですか、それとも私のオブジェクトを書き込んでからそれらをテストするべきですか? 私はコントローラー/モデルを完成させ、それに対するテストを作成することに取り組んできましたが、これがTDDの目的であるかどうかはわかりません。 何かアドバイス? たとえば、AuthプラグインとAuthコントローラーを作成し、それらがブラウザーで正しく動作することをテストしました。それから私は座って彼らのためにテストを書き、ブラウザで機能するコードにいくつかの論理エラーがあることを証明しました。
8 tdd 


4
小さな埋め込みプロジェクトに適した解釈言語[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 6年前休業。 小さなARM Cortex M3を搭載したmbedマイクロコントローラーを持っています。基本的に、プロジェクトに効果的なリソースは、最大25 KBのRAMと最大400 KBのフラッシュです。I / Oには、PS / 2キーボード、VGAフレームバッファー(文字出力付き)、およびプログラムの保存/読み込み用のSDカード(最大で数MB)があります。 私が物事に実装するプログラミング言語を理解しようとしているので、私は尋ねます。私は実装が簡単で、リソースを無駄にしないインタープリタード言語を探しています。私はこれも少なくともデバイス自体に書き込むことができるようにするつもりですが、エディターは解釈できます(そう、ブートストラップ)。 とにかく、私はいくつかの単純な言語を見てきました。いくつかの素晴らしい候補: 前方へ ベーシック スキーム? 誰かがこのようなことをしたり、この法案に合う可能性のある言語を知っていたり、これまでに私の3人の候補者についてコメントしたりしていますか?

2
Java列挙型をパックするためのベストプラクティスは?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 Java列挙型をパッケージ化するためのベストプラクティスは何ですか? 列挙型ごとに別のファイルですか? または すべての列挙型に同じファイルがありますか? 長所と短所は何ですか?

4
「二重」サブスクリプションの回避
少しマーケティングが必要なウェブサイトに取り組んでいます。説明させてください。 このWebサイトでは、ラッキーな当選者に1つの iTunes 50 $クーポンを提供しています。 抽選に参加するには、少なくとも1人の友人をWebサイトに招待する必要があります(参加する必要があります)。かなり簡単です。 もちろん、だれでも簡単に偽のアカウントを作成してそのアカウントを招待するのは簡単なので、不正行為の可能性を見つける方法を他にも考えていました。 新しくサブスクライブした(招待された)ユーザーのIPチェックを考えていました。同じIPが過去24時間にログに記録されているかどうかを確認し、そうである場合は、それについて詳しく調査します。 しかし、私はおそらくこの問題を回避するより賢い方法があると考えていました。これについて誰かがこれまでに持っていますか?他にどんな解決策を試しましたか? 前もって感謝します。
8 security 

5
If-Else VS Switchフローの終わり
場合-else文、switch文のようなものである場合、私は思っていたん break文を持っています。 if( boolean_expression_1 ) statement_1 else if( boolean_expression_2 ) statement_2 else default_statement と同じです: switch( controlling_expression ) { case: ( boolean_expression_1 ) { statement_1 break; } case: ( boolean_expression_2 ) { statement_2 break; } default: { default_statement }

1
Webアプリケーションの複雑さ
私は現在、Webアプリケーションの保守性に関する修士論文を書いています。Colemanらによる「Maintainability Index」のようないくつかの方法を見つけました。またはMuthannaらによる「ソフトウェア保守性インデックス」。どちらの場合も、循環的複雑度を計算する必要があります。だから私の質問は: Webアプリケーションの循環的複雑度を測定することは可能ですか? 私の意見では、Webアプリケーションには3つの部分があります。 サーバーコード(PHP、C#、Python、Perlなど) クライアントコード(JavaScript) HTML(演算子としてのリンクとフォーム、オペランドとしてのGETパラメータとフォームフィールド!?) どう思いますか?Webアプリケーションの複雑さについて別の見方がありますか?私は何か見落としてますか?

2
電子メールの解析に関して、UTF-7はどの程度関連性がありますか?
私は最近、アプリケーションと男の子に受信メールを実装しましたが、地獄の門を開けましたか?それ以来、隔日でメールが届き、アプリが別の方法で失敗します。 それらの1つは、UTF-7としてエンコードされた電子メールです。ほとんどの電子メールは、ASCII、ラテンエンコーディングの一部、またはありがたいことにUTF-8として送信されます。 Hotmailのエラーメッセージ(メールアドレスが存在しない、割り当てが超過しているなど)は、UTF-7として送信されているようです。残念ながら、UTF-7はRubyが理解できるエンコーディングではありません。 > "hello world".encode("utf-8", "utf-7") Encoding::ConverterNotFoundError: code converter not found (UTF-7 to UTF-8) > Encoding::UTF_7 => #<Encoding:UTF-7 (dummy)> 私のアプリケーションはクラッシュせず、実際にはメールを非常にうまく処理しますが、潜在的なエラーに関する通知を送信します。 私はしばらくグーグルで過ごしましたが、少なくともRuby 1.9.3 Encoding :: Converterとしてではなく、変換を実装した人を見つけることができません。 だから、私の質問は、UTF-7で実際の人から実際のコンテンツを含む電子メールを受け取ったことがないので、そのエンコーディングはどの程度関連があるのでしょうか。安全に無視できますか?

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