ソフトウェア工学

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

4
状態の変化に依存しない方が良いのはなぜですか?
この質問は、https://softwareengineering.stackexchange.com/questions/25569/is-haskell-worth-learningの質問から生じます。 一般に、Haskellが他の言語のコーディングスキルをどのように向上させるかについて、頻繁に繰り返されるステートメントがいくつか作成されます。さらに、これはHaskellがステートレスであるためであり、それは良いことです。 どうして? 誰かがこれを左手でタイプするだけ、あるいは一日目を閉じてタッチだけに頼るのと比較するのを見たことがあります。確かにそれ以上のものがありますか? ハードウェアのメモリアクセス、またはパフォーマンスの大幅な向上に関連する何かに関連していますか?

12
作成したプログラムがどのように機能するかを知らずに生きても大丈夫ですか?
つまり、立ち往生しているときに問題を解決できる便利なライブラリがあり、これを解決する方法がわからない、または使用しているプログラミング言語の知識があれば...たとえば、C ++のBoostまたはJavaScriptのJQueryまたはSpring Java ...彼らは数秒で問題を解決し、あなたは彼らがどのようにそれをやったのか気にしません(彼らはあなたがプログラミングしているのと同じ言語で書かれているにもかかわらず)...だから私は一人ではなく問題の解決策を一から作成できるか、それとも標準的な方法ですか?

12
プログラミング中にコードを実行およびテストする頻度はどれくらいですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 特に、Cでゼロから新しいコードを書くとき、たまに構文チェック以外のコンパイラを実行せずに、何時間も、何日もコードを書くことに気づきます。 私は、大量のコードを慎重に記述し、頭の中でフローを分析することでコードが本来行うべきことを確信している場合にのみ徹底的にテストする傾向があります。誤解しないでください-テストせずに1000行を書くことはありません(ギャンブルになります)が、サブルーチン全体を書いて、終了したと思ったらテストします(必要に応じて修正します)。 反対側では、エディターに入力するすべての行の後にコードを実行およびテストし、デバッガーが注意と正気の代わりになる可能性があると考えている初心者がほとんどです。言語の構文を学んだ後は、これは多くの注意散漫になると思います。 2つのアプローチの適切なバランスは何だと思いますか?もちろん、最初のものはより多くの経験を必要としますが、生産性にプラスまたはマイナスの影響を及ぼしますか?2つ目は、より細かいレベルでエラーを見つけるのに役立ちますか?

7
GPLは目標を達成する上でどれほど成功していますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 コードの商用利用に関連する場合、広く2つのタイプのFOSSライセンスがあります。たとえば、GPLタイプとBSDタイプです。1つ目は、ライセンスの下でのコードの商業的使用(使用法によっては、修正や再配布、派生作品の作成なども含む)を広く制限し、2つ目ははるかに寛容です。 私が理解しているように、GPLタイプのライセンスの背後にある考え方は、人々にプロプライエタリなソフトウェアモデルを放棄し、代わりにFOSSコードに変換することを奨励することです。 、ただし、あなたが私たちのキャンプに来て、私たちの規則に従ってプレーすることに同意する場合にのみ」。 私が尋ねたいのは、これまでのところこの戦略は成功したのでしょうか?すなわち、GPLまたはGPLがそうしたからといってオープンで開発されているソフトウェアのために、クローズドからオープンに移行する大きなプロジェクトという形で大きな成果はありますか?この戦略の影響はどれほど大きいでしょうか?たとえば、誰もがBSDタイプのライセンスを持っているか、パブリックドメインの下ですべてのオープンソースコードをリリースする世界と比較して? FOSSモデルが成功したかどうかを尋ねているのではないことに注意してください-これは疑いの余地がありません。私が尋ねているのは、GPLタイプで使用され、BSDタイプのライセンスで使用されていないプロプライエタリからFOSSに人々を変換する特定の方法が成功したかどうかです。また、ライセンスとしてのGPL自体のメリットについても、その有効性の事実については尋ねません。

10
長期的にアウトソーシングコードはより高価ですか?コードの品質に悪影響を及ぼしますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 2年前に閉店。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 私は、まともなソフトウェア製品の知的財産を所有し、年間のライセンス供与から素晴らしい収入を得ている会社を知っています。ただし、ディレクター(非技術的)は、利益率を大きく食い尽くして開発チームを維持するためのコストについて不満を述べ、特定のモジュールの開発を低料金で課金する他の国へのアウトソーシングを検討しています。 個人的には、これが長期的にはより費用対効果の高いソリューションになるとは思いません。これにより、問題が発生した場合に通信障害が発生する可能性があります。さらに、仕様を水密にする必要があり、いずれにしても時間がかかる可能性があります。私の意見では、チームで作業する場合、コミュニケーションが重要です。または、この作業を効果的に行う方法はありますか?

11
同僚が仕事を辞めている場合、上司に通知しますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 8年前に閉鎖されました。 あなたのチームの同僚が彼の仕事を辞めることを計画していて、これがあなたの会社に悪い感情を引き起こすかもしれないならば、あなたはあなたの上司に通知しますか?
16 ethics 

2
ビットごとのORとフラグの追加
私は他の人がビットワイズORを使用してフラグを結合する前に見ました: #define RUN 0x01 #define JUMP 0x02 #define SHOOT 0x04 const byte madPerson = RUN | JUMP | SHOOT; それも私がやる方法です。 しかし、追加を使用してフラグを結合する(あまり多くない)ものも見ました: #define RUN 0x01 #define JUMP 0x02 #define SHOOT 0x04 const byte madPerson = RUN + JUMP + SHOOT; どちらが「読みやすい」のですか?(より多くの人が認識すると思いますか?)それを行う「標準的な」方法は何ですか?あなたはどちらを好みますか?
16 c++  operators 

6
プロジェクトが特に複雑なのか、それとも取り上げるのが遅いのかを判断するにはどうすればよいですか?
私は主要なプロジェクトでほとんど進歩を遂げていません。ソースは巨大で、オブジェクトの多くのレイヤー、マカロニコード、多重継承のダブルダイヤモンドグラフ、元の作家が去ったときに中途半端な機能が凍結されており、その多くの部分がそのように設計された理由は誰にもわかりません。 有能なプログラマーなら、バグを修正し、中途半端なものを完成させ、新しい機能を追加するのに十分なほどうまくそれを理解するのに苦労すると思う。しかし、私は典型的なプログラマーよりも遅くなると思う。 ソースが異常に悪く、私ができることは誰でもできるかどうかを判断するにはどうすればよいのでしょうか?ソースはこのようなプロジェクトでは典型的であり、私はただの機知に欠けているか、未熟です?

7
区切りファイルを処理する最良の方法
したがって、通常、CSVファイルでは、フィールドと行の区切り文字としてカンマと戻り文字が使用されます。 これにより、これらの両方の文字を含む可能性のあるテキストで明らかな問題が発生します。 明らかにオプションがありますが(エスケープ)、これをどのように処理しますか?別の文字を使用してください-パイプまたはチルダ?それらをエスケープしますか?区切りファイルを使用しないでください。結局のところ、2010年であり、現在XMLがありますか? 問題が見当たらないまともなチャンスを求めて、少なくとも努力をしています。 (明らかに、これはより堅固なものではなく、好奇心からの質問です-私は何度も何度もデータを使って遊んでいますが、常にそれを回しましたが、通常は少し、よく、汚い感じがします他の人の経験は何だろうと思いました)。

5
厳格な非アジャイル手法を使用するチームにアジャイルを導入する方法は?
アジャイル以外の方法論に対して誇らしげに認定され、説明責任を実証するための顧客へのセールスポイントとして使用している会社を考えてみましょう。 かんばんやスクラムを、システム全体を壊さずに徐々に導入し、それでもなお説明責任/監査可能であると自信を持たせるにはどうすればよいですか? これは「スクラムのようなアジャイルな方法論をどのように導入しますか」に関連する可能性がありますが、ここでは、会社がSDLCを誤ったふりをしてSDLCを管理する特定の方法を課しているという事実を回避/回避する方法について疑問に思っています監査証跡を持つ唯一の方法。

17
私のソリューションは上司よりも優れていると思うので、彼を無視する必要がありますか?[閉まっている]
ここで何が尋ねられているかを伝えるのは難しいです。この質問は曖昧、曖昧、不完全、過度に広範、または修辞的であり、現在の形式では合理的に答えることができません。この質問を明確にして、再開できるようにするには、ヘルプセンターに アクセスしてください。 7年前に閉鎖されました。 私はphpとsqlを使用しています。 機能を実装する私の方法は、上司が提案する方法よりも優れていると思います。ちょうど今、彼は私にメールアドレスのリストをチェックする方法を説明してくれましたが、私は彼の考えが好きではありません。私は、実装がより良く、より速い鉱山を提案しましたが、彼は同意しませんでした。 彼の考えは私には十分に明確ではなかったので、今、私は先に進んで私の考えを実行すると思います。彼は怒っていると思いますか?

5
プログラミング言語の仕様を作成するにはどうすればよいですか?
私はプログラミング言語の設計を本当に楽しんでいます。私の言語プロジェクトとその潜在的なユーザーは、包括的な標準ドキュメントの恩恵を受けると思うことがあります。私は非常に形式的な(C ++)からやや非公式な(ECMAScript)に至るまで、多くの言語標準を見てきましたが、物事をどのように分類し、そのようなドキュメントを整理するべきかについて、実際には理解できません一般的にテクニカルライティングが得意だと思います。 長いチュートリアルのように書くべきですか、それとも正式な数学論文のように書くべきですか?リファレンス実装と並行して開発している場合、どうすれば最新の状態に保つことができますか?実装とドキュメントを事実上の標準としてあきらめて扱うべきですか?さらに、規格を持つことには本当に大きな利点がありますか?必要な言語は不必要に複雑であることを標準平均を?

5
学習開発のアルゴリズム[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 これはかなり一般的な質問です。PerlとPythonを少し知っているので、プログラミングをもっと深く学びたいと思います。それを理解したら、アプリケーションの開発を始め、次にWebサイトを開発できるようになります。 一般的なプログラミングの学習に対する私のアプローチを説明できるアルゴリズム(手順のシーケンス:))について知りたいと思います。私はPerl / Pythonに関する小さな質問を投稿しましたが、皆さんから大きな助けをいただいています。 注:-急いで学ぶ必要はありません。時間がかかることはわかっていますが、それで問題ありません。 有効だと思われる提案があれば教えてください。また、Lisp、Haskellなどを学ぶように私を押してはいけません-私は初心者です。

14
戻ってスキルセットを再学習する必要がある場合、どのように行いますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 私の弟はプログラミングを始めようとしています。彼は14歳で、技術的には傾いていますが、実際のプログラミング経験はありません。彼は私に指導を求めており、私の経験が十分であるとは思わないので、私はここで尋ねると思いました。 彼はWebプログラミングに興味がありますが、デスクトップ/モバイル/サーバーアプリケーションにも興味があります。 彼がとるべき良い学習パスは何でしょうか?私は彼にクリスマスを始めるために、彼にたくさんの本を買うつもりです。問題は、彼が何を学ぶべきか、そしてどの順序であるか? 私の考えでは、彼は理論とコードを学ぶ必要があります。彼をPython、Ruby、PHPで始めたいと思います。Webにアクセスしたい場合は、HTML、CSS、Javascriptなどを学ぶ必要もあります。 これらの3つのドメイン(言語、理論、マークアップ/その他)のうち、学習するのに最適な順序は何ですか?また、何か不足していますか? ありがとう!

14
フリーランスの前に上司に尋ねる/伝える必要がありますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 現在、コンサルティング会社でインターンとして働いています。次の学期を卒業したら、すぐにフルタイムの従業員に移ります。そこで働くことが大好きです。しかし、私は学生としてお金がなく、フリーランスのウェブ開発のために私を雇うことを申し出た仕事以外のビジネスオーナーに会いました。 私は仕事以外でこの個人に会ったので、彼のためにフリーランスをすることは利益相反ではないと感じています。しかし、彼が私に望んでいる仕事は、私の現在の上司のためにすでにやっていることと非常に似ています。 オファーを検討する前に、上司と話す必要がありますか? 編集:私は仕事からIPを取得することはできず、契約を結んでいないことを理解しています。私は自由に雇用しています。

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