ソフトウェア工学

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

7
FreeBASICはどの程度成熟していますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 私の友人は、重要な本番環境でFreeBASICを使用することを検討しています。彼らは現在GWBasicを使用しており、より近代的な言語への穏やかな移行を望んでいます。ソフトウェアに未検出のバグがあるのではないかと心配しています。バージョン番号が0.22.0であることがわかります。これは、まだ成熟していないことを示しています。私も結論を出すことができずにこの議論を読みました。また、Sourceforgeのページには、それがアルファ版かベータ版かを示すものはありません(いずれにしても、これはあまり良い指標ではありません)。成熟度についての独自の経験、成熟度を判断する方法に関するアイデア、または重要な実稼働環境でFreeBASICを使用している企業について知っている人はいますか?
10 basic 

7
スクラムの過大評価と再計画
私たちは最初のスプリントの真ん中にいて、何かが明け暮れています。 この2週間の反復で理想的な114時間を計画し、最初の週の終わりにスプリント全体を完了しました。今何をすべきか?「本」は、バックログから次の優先度の高いアイテムを取得する必要があることを示しています。しかし、それらをバーンダウンチャートに追加するにはどうすればよいでしょうか。それらを最初から存在しているかのように説明するために書き直しますか?あるいは、それらの作業を開始する日にy軸にそれらの推定値を単に追加します(90度の角度ジャンプを示しています)。 どんなフィードバックでも大歓迎です!
10 scrum  planning 

6
真の乱数ジェネレーターWebサービスが必要[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 5年前休業。 Random.orgは、アナログの世界(cf.)からIPごとに1日あたり200kのランダムビット(32ビット整数は6250のみ!)を提供します。 誰かが1日あたりのオンデマンドのランダムビット数を増やす代替のWebサービスを知っていますか? (価格が1000×1024ビット/米ドルセントの「予想内」である限り、支払いは問題ありません)(random.orgの有料サービス料金100×この価格)

7
C言語の移植性
Cのような言語の移植性はどの程度正確に決定されますか?コンパイラはISA固有であることを学びました。これが本当なら、Cはどのように移植可能ですか?それとも、Cで書かれたソースコードだけが移植可能で、実行可能ファイルではないということですか?x86のサンプルアプリケーションに固有の実行可能ファイルISAは、Appleのアプリケーションとは別のものではありませんか(AppleがMotorola / PowerPCマイクロプロセッサを使用していると仮定)
10 c  languages 

9
修正不可能な無限のプロジェクトへの対処
私たちは、技術的な負債を多く抱えた大規模な(1200時間以上)ウェブサイトを持っています。これは主に次の(通常の)理由が原因です。 開発中に出入りする複数のプログラマー。 開発中の仕様変更。 多数の追加機能が(短時間で)追加されました。 顧客は多くの新しい機能を望んでおり、それは基本的にこのプロジェクトに毎週 10時間以上取り組むことになります。 技術的な負債があるため、問題の修正または調査に多くの時間を費やしていますが、通常、問題の原因は次のいずれかにあります。 人々を泣かせる、恥知らずで愚かなバグ。 新しい機能が影響するすべての場所を予測していなかったため、新しい機能は上記の結果をもたらしました。 私たちが直面しているいくつかの他の問題(サーバーの移行、アップグレード) 私たちは毎日問題を抱えており、これを停止するために以下のことを試みました: ウェブサイトのインポート、支払い、および一般的な作業に関する技術文書を作成しました。 週の初めに会議を開き、現在の問題または改善点とそれらにどのように取り組むべきかについて話し合います。 テスト計画を立てます。プログラマーAテストB、BテストC、CテストA.次に、プロジェクトマネージャーがいくつかのテストを行います。この機能の影響については、ステージング環境に投入し、お客様に確認してもらいます。 問題は、問題が発生し続けることです...そしてどういうわけかそれを把握することができません。新機能は依然としてバグを引き起こし、古いバグは挨拶を続けます。どういうわけか-おそらくプロジェクトの規模のため-このプロジェクトを把握できていないようです。 私はこれよりも大きなプロジェクトに取り組んでいるプログラマーがたくさんいると思います。それが私が私の質問に来る理由です: 私たちは何ができるのか、何をすべきか、あなたは大規模なプロジェクトでこれらの問題を回避するのですか? 細かい編集、追加情報: バージョン管理(SVN)を使用しています。 DTAP開発プロセスがあります。

5
チェック済みvsチェックなしvs例外なし…反対の信念のベストプラクティス
システムが例外を適切に伝達および処理するために必要な多くの要件があります。概念を実装するために言語を選択するための多くのオプションもあります。 例外の要件(順不同): ドキュメント:言語には、APIがスローできる例外をドキュメント化する手段が必要です。理想的には、このドキュメントメディアは、コンパイラとIDEがプログラマにサポートを提供できるようにマシンで使用できる必要があります。 例外的な状況の送信:これは明らかです。呼び出された機能が期待されるアクションを実行できない状況を関数が伝達できるようにするためです。私の意見では、そのような状況には3つの大きなカテゴリがあります。 2.1一部のデータが無効になる原因となるコードのバグ。 2.2構成またはその他の外部リソースの問題。 2.3本質的に信頼できないリソース(ネットワーク、ファイルシステム、データベース、エンドユーザーなど)。これらは信頼できない性質のため、散発的な障害が発生する可能性があるため、ちょっとしたケースです。この場合、これらの状況は例外的と見なされますか? コードがそれを処理するための十分な情報を提供する:例外は、呼び出し先に対応し、状況を処理できるように、十分な情報を呼び出し先に提供する必要があります。ログに記録されたときに、この例外がプログラマーに問題のあるステートメントを識別して分離し、解決策を提供するのに十分なコンテキストを提供できるように、情報も十分でなければなりません。 プログラマーにコードの実行状態の現在のステータスについて自信を与える:ソフトウェアシステムの例外処理機能は、プログラマーの邪魔にならないようにしながら必要な安全策を提供するために十分に存在している必要があります。手。 これらをカバーするために、以下のメソッドがさまざまな言語で実装されました。 チェックされた例外は例外 を文書化する優れた方法を提供し、理論的には正しく実装された場合、すべてが良好であることを十分に保証するはずです。ただし、コストがかかるため、多くの場合、例外を飲み込むか、チェックされていない例外として再スローすることで単にバイパスする方が生産性が高くなります。不適切にチェックされた例外を使用すると、ほとんどすべての有用性が失われます。また、チェックされた例外は、時間的に安定したAPIの作成を困難にします。特定のドメイン内で汎用システムを実装すると、チェックされた例外のみを使用して維持することが困難になる例外的な状況が大量に発生します。 チェックされていない例外 - チェックされた例外よりもはるかに用途が広く、特定の実装で起こり得る例外的な状況を適切に文書化できません。彼らは、仮にあったとしてもその場限りの文書に依存しています。これにより、メディアの信頼できない性質が、信頼性のある外観を提供するAPIによってマスクされます。また、これらの例外がスローされると、抽象化レイヤーを逆方向に移動するときに意味が失われます。それらは十分に文書化されていないため、プログラマーはそれらを明確に対象とすることができず、セカンダリシステムで障害が発生した場合にシステム全体を停止させないために、必要以上に広いネットをキャストする必要があります。これにより、提供された嚥下問題チェック例外に戻ることができます。 マルチステートの戻り値の型 ここでは、予想外の結果または例外を表すオブジェクトを返すために、ばらばらのセット、タプル、またはその他の同様の概念に依存しています。ここでは、スタックの巻き戻し、コードのカットは行われません。すべてが正常に実行されますが、続行する前に戻り値のエラーを検証する必要があります。私はまだこれを実際に使用していませんので、経験からコメントすることはできません。通常のフローをバイパスしていくつかの問題の例外を解決しますが、チェックされた例外とほとんど同じ問題があり、面倒で常に「直面しています」。 だから問題は: この問題についてのあなたの経験は何ですか、そしてあなたによると、言語が持つ優れた例外処理システムを作るための最良の候補は何ですか? 編集:この質問を書いてから数分後、私はこの投稿に出くわしました、不気味です!

5
すべてのRubyをHaskellであるかのように書いても大丈夫でしょうか?
Rubyには、リスト作成、マップ、選択、収集などの優れたリスト操作機能が組み込まれています。Procs、Blocks、Lambdasがあり、優れた反復サポート(eachファミリ)があるので、もしもRubyのものをすべて最も純粋に機能的な方法で記述しますか?I / Oがほとんどまたはまったくない(したがって、明らかな副作用が少ない)コードに特に適していますか? 私はHaskell(「本当の」ハッカーの言語と呼ばれます)を学んでいて、それを行う方法に夢中になっています。 Rubyはそもそも借りたり、そこから多くを学んだりしませんか?) 建設的なガイダンスは大歓迎です...

4
従業員vs請負業者の考え方とキャリア[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ソフトウェアエンジニアリングスタック交換のトピックになるようにします。 8年前休業。 私は他の「契約者対従業員」スレッドのいずれにも完全にはカバーされていない何かを解決しようとしています。簡単に言えば、人々がどちらか一方に向けられるという自然な(おそらくハードワイヤードで先天性の)傾向がありますか? 少し背景:私は過去数年間で深刻な燃え尽き症候群に苦しみました、そして今年物事を考え直すために休暇を取ります。すべての反省をもって、私はますます恒久的な給与付きの生活のために切り捨てられていないという結論にますます近づいています。本質的には、「従業員の考え方」はないと思います。どんなに良い仕事でも、同じ風景に縛られずに動き回る内臓的で根深いニーズがあるようです。新鮮な1年か2年は素晴らしいですが、その後は、同じルーチンで立ち往生したり、同じコードベースを調べたりするなど、どれほどうまくいっても、退屈で不快に感じるだけです。仕事は紙のようです。ほとんどの人は、安定性が「親しみに対する軽蔑」を補償する溝に入るようです 私のその他の質問(この主題に広く関連する)の​​1つに対するこの回答は本当に私の注目を集めました。つまり、基本的には「ハンター」タイプと呼ばれるもので、一種の「スローモーションADHD」のケースのように思えます。私は本当に興味があることに集中するのが得意で、一生懸命働くことを恐れていません。ただし、短期、中期の時間枠で、開始、進行、終了をパッケージ化する必要があります。ソフトウェア開発では一般的にオープンエンドの「保守モード」を意味する典型的な給与付きの環境で、新しい仕事を始めて1年か2年後、すぐに頭に浮かびます。私はやる気と集中力を失い始め、やがてバーンアウトに滑り込みます。 だから基本的に私が求めていることは-この農家対ハンターの理論は本当だと思いますか?必ずしも正式な臨床精神医学的意味ではなく、主観的な経験からですか?私は特に請負業者、または両方を行った人々から連絡をもらいたいです。あなたは機会が良いからといってそれをやっているのですか、そしてあなたは同じ仕事を永久に同じように行うことができます。それともあなたは私のようなこの感情/メンタリティーを持っていますか?同じ風景に縛られているとあなたの魂を消耗しますか? 関連質問:人々は一般的にどちらか一方に固執しますか?それとも両方を行うのですか?ほとんどの人は、ほとんどのキャリアで従業員または請負業者/コンサルタントのどちらかであり、意志で両方を行うオーバーラップは非常に小さいように思えます。これをバックアップするためのデータが見つかりません。それは私が得た印象です-そして私はそれが非常に好奇心が強いと思います-それは人々が自然に/内面的にのみ傾向があるように見えるこの考えを支持するように思えるからですどちらか一方の作業の「モデル」。 編集:応答をありがとう。私を燃やすのは、典型的な「指揮統制」ビジネス環境で他の誰かのために働くことに不満を抱いているという根本的な感情であるというのはかなり真実だと思います。私がこれまでに経験したすべての仕事は、基本的にそのパターンに適合する恒久的なギグでした-開発者は工場労働者のように扱われました(他の場所よりも悪い場所もありますが、常に本質的に真です)。自律性や自己実現の目的をあまり持たずに、言われたことを実行する。とは言っても、パーマネントギグと比較した場合、契約がどのように機能するかを確認するために、契約を検討するつもりです。それはおそらく完璧ではありませんが、独立性は少なくとも物事を面白く保つだろうと思います- 同じことで長い時間がかかりました私が燃え尽きて機能不全になり、まったく働けなくなったこの時点に達する前にわだち掘れ。一定の横方向の動きにより、少なくともそれを制御下に保つことができます。


8
開発者の職務記述書で「エラーなし」を主要な出力として持つことは適切ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 すべての職務記述のレビューの一環として、私の会社は以下を主要な出力として含めることにしました。 ウェブサイトの開発は仕様どおりに、エラーフリーで時間通りに完了しました 仕様が定期的に変更されることを考えると、正式な変更管理プロセスはなく、環境は少し予測不可能ですが、このKPIはどれほど現実的で妥当ですか?

9
私の大学は「簡単な」プログラミング言語であるため、phpコースを提供していませんか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 私はコンピュータサイエンス学部の学生に会いましたが、彼らはjavaとaspxしか教えていないことがわかりました。ネットでトップのプログラミング言語であるphpを教えない理由を尋ねた。彼はそれが「簡単な」(または愛好家の)プログラミング言語だったと言います。どういう意味かわかりません。 あなたの意見は何ですか?
10 php 

8
これらすべてのコーディング規則はどうですか?
私は、会社や特定のプロジェクトの開発者向けにコーディングルールを設けるという考えを常にサポートしていました。特に、会社の規模が10を超える場合は、会社が大きくなるほどニーズも大きくなります。私は多くの人が意見を異にするだろうことを知っていますが、それらを持たないプロジェクトを見たことがあり、コードは完全な災害のように見えます。 これから来る本当の問題は、ifステートメントで角かっこを使用したくない、またはコード内のどこでも同じ接続文字列を使用したくない、またはそれらを反対にせずにコーディングルールを使用したくない頭のいいものを作成する方法ですアイデア?

6
新しいプロジェクトの計画とプログラミングの適切な組み合わせ
新しいプロジェクトを開始しようとしています(ゲームですが、それは重要ではありません)。基本的な考えは私の頭の中にありますが、詳細のすべてではありません。 計画せずにプログラミングを始めたくはありませんが、ただやりたいという衝動に真剣に取り組んでいます。私が考えることができる新しい機能がそれを必要とするというだけの理由で、アプリ全体をリファクタリングすることを防ぐために前にいくつかの計画が欲しいです。一方で、今月はやる気を失ってしまうのではないかという不安もあり、数ヶ月(暇)の予定を立てたくない。 私が探しているのは、一方を他方を支配することなく両方を組み合わせる方法です。スクラムの方法でプロジェクトを実現する必要がありますか?ユーザーストーリーを作成してから実現する必要がありますか?機能駆動型で作業する必要がありますか?(私はスクラムと古典的な「コードへの仕様」の方法でいくらかの経験があります。) 更新:「クリックダミー」から始めて、後で機能を実装するのはどうですか?

6
関数型プログラミング言語を採用すべきですか?
私は最近、自分のコードを書く方法についてもっと心配しています。デザインパターンに関するいくつかの本を読んだ後(そしてそれらの熱狂的な実装については、きっと)、私は自分の考えを、変化するものをカプセル化することに大きくシフトさせました。インターフェースが少なく、メソッド指向のコードが多く書かれていることに気づきがちですが、述語、アクション、その他のデリゲートタスクを使用して古いクラスに活気を与えたいと思っています。変化するのは行動だと思うことが多いので、それをカプセル化します。常にではありませんが、多くの場合、インターフェイスを単一のメソッドに分解し、クライアントコードに新しいクラスを作成させるのではなく、タスクにデリゲートを使用することを好みます。 だから私はそれが私を襲ったと思います。代わりに関数型プログラミングを行うべきですか? 編集: 関数型プログラミングについて誤解している可能性があります。 現在選択している言語はC#で、C ++の出身です。私はゲーム開発者として働いていますが、現在は失業しています。 私は建築に対する情熱を持っています。私の利点は、クリーンで柔軟性があり、再利用可能で保守可能なコードです。私がこれらの方法で毒されているのか、それともより良いのかわかりません。リファクタリング熱がありますか、それとも次に進むべきですか?これは「仕事に適したツールを使用する」という疑問かもしれませんが、ご意見をお聞かせください。 関数型言語を選ぶべきでしょうか?私の恐怖要因の1つは、Visual Studioの快適さを離れることです。

10
毎年少なく吸いますか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前休業。 毎年少なくなる-Jeff Atwood 私はこの洞察に満ちた記事に出くわしました。投稿から直接引用 私は、謙虚なプログラマーが改善する方法を毎年吸うことが少ないとしばしば思っていました。1年前に書いたコードに不満があるはずです。そうでない場合は、A)1年間何も学習していない、B)コードを改善できない、またはC)古いコードに再度アクセスしないことを意味します。これらはすべて、ソフトウェア開発者にとって死の接吻です。 これはどのくらいの頻度で起こりますか? コーディングが実際に改善されるまでにどのくらいかかりますか?月、年? あなたはあなたの古いコードを再訪しますか? あなたの古いコードはどれくらいの頻度であなたを悩ませますか?または、技術的負債にどのくらいの頻度で対処しなければなりませんか。 古いバグを修正することは間違いなく非常に骨の折れるコードであり、期限とそれらの迅速な修正に迅速に対応するために行った可能性のある汚いコードです。それについての議論はありません。 私が出会った開発者の何人かは、彼らがすでに進化の段階にあり、コーディングを改善する必要がないか、もはや改善することができないと主張しました。 これは起こりますか? もしそうなら、特定の言語でのコーディングに何年かかりますか? 関連: あなたの古いコードのいくつかを振り返って、苦痛に満ちていますか? コード内のスターウォーズモーメント 「ルーク!私はあなたのコードです!」「いいえ!不可能!できません!」

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