ソフトウェア工学

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

1
コードのリファクタリングにどれくらいの時間を費やすべきですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 それが私だけのものかどうかはわかりませんが、コードのリファクタリングを開始すると、それを行うのに多くの時間を無駄にし、終わりません。 コードを再度読むたびに、改善できるものを見つけます。コードのリファクタリングは、私の脳が無限ループに陥り、満足のいくものではなくランダムに終了条件に到達するようなものです。 それでは、コードのリファクタリングにどれくらいの時間を費やすべきでしょうか?

5
関数型プログラミングがよく合わない一般的な問題は何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 5年前に閉鎖されました。 関数型プログラミングは宣言的なパラダイムです。FPの長所の1つは、副作用が回避されることです。いくつかの問題では、FPは適切ではないと言われています。 関数型プログラミングが適合しない一般的な問題は何ですか?

3
オフィスの官僚主義はコード品質にどのように影響しますか[非公開]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 私は、オフィスの官僚主義が最終的なコード品質の結果に直接影響を与えた物語に興味があります。 たとえば、友人から、以前の職場ではバージョン管理システムが非常にかさばっていて、VCSの神に許可を求めずにプログラマが新しい「モジュール」(ソースツリーのルートディレクトリ)を作成できなかったと言われました。その結果、プログラマーは余分な官僚的な手順を踏むことを嫌がり、機能がモジュールの現在の定義またはモジュール名にリモートで関連している場合でも、既存のモジュールの上に無関係な機能を積み重ねることになりました過去の方法でした。(モジュールの名前変更は言うまでもありません...) 私は、オフィス、運用、または最終的にはおそらく意図せずにソフトウェア品質に影響を与える他の官僚機構の同様の物語に興味があります

12
十分に知らないという不安にどのように対処しますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 数ヶ月前に大学を卒業したばかりで、知識を磨くために時間を割いています。プログラミングは大好きですが、面接に行っても自信が持てないのではないかと感じています。昨夜、質問を閲覧していたときに、インタビュイーにリンクリストの作り方を尋ねる質問に出会いました。私は大学でこれらを学びましたが、その方法をその場で尋ねられたら、私は知りません。それが、学ぶべきもののリストに追加されたもう一つのことです。 これは、私が非常に短い時間で多くのことを学べるので、不安が私を襲ったときです(少なくとも、そのように感じます)。内省することで、シェークスピアとアインシュタインが80%の確率で失敗したなど、完璧であることは合理的ではないにもかかわらず、この不安は私の完璧主義に関連していると思います。 質問は、あなたは十分に知らないというこの不安を感じましたか?その場合、どのように対処しましたか?私はあなたがあなたの能力に快適さを感じ始める時点があると思いますか?

8
すべてを文書化するべきですか、それともほとんど文書化すべきですか?
フィールドのgetterとsetterの「JavaBeanの」構文を含む文書すべてに論争の対象のビットようだ:人々は言うその不必要に長いと繰り返し破断DRY(自分を繰り返さない)、命名規則を説明しなければならないことのすべてを、また、コード/ドキュメントが乱雑になります。時にはそれらの引数が機能します。しかし、他の場合には、これで終わります: 上記は、これらの原則に大胆に従っているオープンソースプロジェクトに共通しています。完全に役に立たないドキュメントが残っています。それは、下で何が起こっているのか、考えられる効果、または期待値が何であるのかについては何も説明していません(nullになるか、nullにならないのかわかりません。Javadocは教えてくれません)。 それでは、いつ文書化する必要がありますか?ときどきコードが乱雑になっても、すべてを文書化しますか?それとも、私の目には「明らか」だから何も文書化しませんか?

16
実際のコーディングの前に擬似コードを使用する必要がありますか?
擬似コードは、言語に依存しない方法でタスクを理解するのに役立ちます。開発ライフサイクルの一部として擬似コードを作成することは、ベストプラクティスですか、または推奨されるアプローチですか?例えば: コーディングタスクの特定と分割 擬似コードを書く [PLまたはTLによる]承認を得る 擬似コードに基づいてコーディングを開始する これは推奨されるアプローチですか?業界で実践されていますか?

16
残業の原因とその回避方法 [閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 今日、私のマネージャーは、計画とプロジェクト管理の不足を補うために時間をかけて働かなければならないと私に言った。この無給の義務的な残業を奨励する代わりに、私のマネージャーは、私がこの問題に選択の余地がないことを明らかにしました。 これは単一のプロジェクトではありません。現在、1ダースのプロジェクトを一度にすべて実行していますが、すべてを完了することはできません。したがって、締め切りを延ばす必要がないように残業しなければなりません。 これは、無知または失礼なマネージャーのサインですか、それとも単に経験の浅いマネージャーですか? 私は計画とプロジェクト管理の欠如のためにこの立場にいます(私は思う)。今後これをどのように回避できますか?私はプロジェクトマネージャーではありません。それは私の強さではありません。 従業員に直接支払うことができない場合、残業させるための良い方法は何ですか?優遇措置など 従業員の尊敬を得ることは、従業員を長期的に働かせるための唯一の最良の方法ですが、決して習慣にすることはできません。

15
企業はプログラマーを雇うときに大学の成績を気にしますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 6年前に閉鎖されました。 私が話し合った仲間の学生のほとんどは、良い成績を目指すことは、企業がプログラマーを雇うときに気にしないので役に立たないと主張しています。彼らにとっては、単に重要なコースに参加するだけで十分であり、それだけです。 これは本当ですか?大学の成績はキャンパスを離れるときに役に立たないのですか、雇用主は面接のためにそれらを見るように頼みますか?
22 experience 

6
ユースケースなしの疎結合はアンチパターンですか?
一部の開発者にとって、疎結合は、適切に設計されたソフトウェアの聖杯です。予測可能な将来に発生する可能性のある変更に直面してコードをより柔軟にする、またはコードの重複を回避する場合、それは確かに良いことです。 一方、コンポーネントを疎結合しようとすると、プログラム内の間接参照の量が増え、そのため複雑さが増し、理解が難しくなり、効率が低下することがよくあります。 疎結合のユースケースを使用しない疎結合(コードの重複を回避したり、近い将来発生する可能性のある変更を計画するなど)をアンチパターンと考えていますか?ゆるい結合はYAGNIの傘の下に落ちますか?

7
新しい言語を学ぶべきでしょうか、それとも既に知っている言語にのみ集中し、その知識を増やすべきでしょうか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 どちらがより有益で生産的ですか?

3
関数型プログラミングの概念に関する標準的なチュートリアルまたは本はありますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 手続き型/オブジェクト指向プログラミングのバックグラウンドから来て、私はSchemeプログラムを手続き型で書く傾向があります。プログラマーの心をリセットするために、SchemeやLispを機能的な方法で一から学ぶことに興味があります。 ベストプラクティス、設計方法論、および関数型プログラミングの概念に関するその他の有用な情報を説明するための事実上の標準であるチュートリアルまたは本はありますか?その本は特別なものですか?

7
ソースコードを利用可能にすることは、収益を生み出す能力に影響しますか?
最終的には単一のDLLとなる.Netフレームワークに取り組んでいます。私たちは、フレームワークの商用利用に対して課金するつもりですが、オープンソース/非商用利用のために無料にします。現時点での大まかな計画は、無料で使用するか有料で使用するかに関係なく発行される、かなり単純なライセンスの形でこれを管理することです。 ソースコードを利用可能にするかどうかを議論しています。ソースコードにアクセスできる場所で何かを使用する方がはるかに魅力的であるという認識(および独自の好み)です。 ソースコードを利用可能にすることでフレームワークから利益を得る能力が損なわれると思うか、それがより多くの使用を促進し、商業的に使用する場合に十分な「良い」人々が正しいライセンスの支払いを手配するかどうかに興味があります。 私の感じでは、一般的に、商業活動はライセンスの面で混乱しないので、ソースコードを利用可能にすることは使用を促進するだけであり、したがって最終的により多くの収入を生み出しますが、他の意見/経験に興味があります。

12
「強力な」言語とは何ですか?
私はしばしば、自分の好きな言語が他の言語よりも「強力」であると争う人々を見てきました。プログラミング言語の記述に関しては、オブジェクト指向言語とは何か、動的言語とは何かを理解することはできますが、「強力な」言語とは何なのかはまだわかりません。あなたの考えは何ですか?

8
小さな言語やニッチな言語についてわざわざ学ぶ必要がありますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 StackExchangeでコードに関するゴルフの質問を参照すると、F#、Scala、R、J、Clojureなどの非標準ではあるが現実の(例えばBrain-f * ckではない)言語が大量にあることに気づきます。彼らのウェブサイトにアクセスすると、一部の言語は、すでに使用している言語に関係なく、問題を解決する興味深いものに見えます。 ただし、空き時間のコーディングとお金のためのコーディングがあります。誰が言語を使用するかについての真実に最も近いものは、トップ10〜15に上記の言語のいずれもリストしていないTIOBEインデックスです。だから、私はそれらを使用するかどうか疑問に思う。 小さなニッチ言語のいくつかをわざわざ習得する必要がありますか?私はお金をもうけるとは思えませんし、とにかく失敗する人もいるでしょう。

14
レガシーコードを渡したときに、独自のコーディングバイアスをどのように克服しますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 プログラマとして、私たちはしばしばスキルに信じられないほどの誇りを持ち、「良い」コードと「悪い」コードとは何かについて非常に強い意見を持っています。 私たちのキャリアのどの時点でも、おそらくいくつかのレガシーシステムがラップに落ちていて、「このコードはダメだ!」それは、完全に機能的で保守可能なコードである可能性が高いにもかかわらず、優れたコードがどうあるべきかという概念に適合しなかったためです。 他のプログラマーの仕事を回避しようとするとき、どのように精神的に準備しますか?

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