ソフトウェア工学

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


8
Google for Cを適切に使用する方法
Googleを使用してCプログラミング言語のチュートリアルや回答を見つけようとすると、Cは検索を絞り込むのに十分な表現力のある名前ではないという問題があります。「プログラミング」や「言語」などのキーワードと組み合わせても、ほとんどがC ++、C#、Objective-Cで結果が得られます。 Googleを使用して特定のCリソースをより効果的に検索する方法はありますか?
44 c  google  search 

17
返された変数に「result」という名前を付けるのは良い習慣ですか?[閉まっている]
メソッドが返す変数を変数名で呼び出すのは良い習慣resultですか? 例えば: public Zorglub calculate() { Zorglub result = [...] [...] return result; } または、タイプ別に名前を付ける必要がありますか? public Zorglub calculate() { Zorglub zorglub = [...] [...] return zorglub; } 私は両方を野生で見ましたが、どちらかを選択する必要がある場合、前者または後者(またはより良い名前)を好む理由は何ですか? 私は主にJavaについて考えています。

9
Programmers.SEやStack Overflowに時間を費やすことは、初心者向けの優れたプログラミング本の代わりになるでしょうか?[閉まっている]
Programmers.SEとStack Overflowに時間を費やす(積極的に参加する)ことで、Code Complete 2のような本を読むことに費やす時間(それ以外の場合は読書リストの次になる)に近いプログラミングスキルを向上させることができます。 OK、プログラミングを始めている人にとってはこの質問に対する答えかもしれませんが、プログラミング言語に精通しているが改善したいときにコンテキストで尋ねるこの質問を追加したいと思います彼のプログラミングスキル。私はこの質問をSOで読んでいて、この本は他の多くの人(ジェフやジョエルを含む)にも推薦されています。 具体的には、C、Java、Pythonなどでプログラミングを行っているにもかかわらず、コーディングスキルやCC2のレビューを読んで満足していないのに、さらに改善する必要があることに気付きました。 。 だから、基本的に私はプログラミングスキルを向上させるための最善の方法を知りたいです-ここ/ SOにもっと時間を費やすか、CC2を続けて、時間が許せばここに来るかもしれません。

4
なぜ+は連結にとってそれほど悪いのですか?
JavaScriptの問題の1つは、文字列の連結に+[ 例 ]を使用しているということです。問題はを使用していないと言う人もいますが+、それは型強制です(前の例のコメントを参照)。ただし、厳密に型指定された言語では、連結と強制型に問題なく+を使用します。たとえば、C#の場合: int number = 1; MyObject obj = new MyObject(); var result = "Hello" + number + obj; // is equivalent to string result = "hello" + number.ToString() + obj.ToString(); では、なぜJavaScriptでの文字列の連結がそんなに大きな問題なのでしょうか?
44 javascript 

12
インタビュー中に大声で考えることは本当に最高の戦略ですか?[閉まっている]
ホワイトボードのベストプラクティスについて最近質問した別の質問では、答えを思いついて大声で考えることが最良の戦略であるという一般的なコンセンサスがありました。 確かに、長い沈黙の瞬間は厄介です。 しかし、最近のインタビューの後、大声で考えると間違った解決策や間違った道をたどる場合、さらに検討すると、インタビュアーはすぐに飛び込んで私のアプローチの問題を指摘する傾向があることに気付きました1分間停止します。これは孤立したケースではなく、複数のインタビュアーとの複数のインタビュー中に発生しました。 もう1つは、インタビューの後、私が絶対に爆撃した問題について、座って無言で紙の上に問題をスケッチしたとき、私は解決策をかなり迅速にスケッチできたということです。大声で考えることは、私が言うことをインタビュアーに登録しなければならないことを考えることに頭脳サイクルを費やすことになり、さらに、間違った道を進んだことを認識し、ボードに何かを書いた後にやり直すことを恐れる多くの時間を無駄にします。1つの道を歩み始めて、たくさんのジャンクを書いたことに気付いたら、それを元に戻すことはできませんが、それについて静かに考えた場合、インタビュアーは混乱を見なかったでしょうし、それはより迅速だったでしょうホワイトボードに悪いアイデアを考えると、単に悪いアイデアを考えるよりも多くの時間がかかります。 沈黙の瞬間は欲しくありませんが、同時に話すことはより多くの時間を要し、自己意識につながり、ほんの少しの時間で自分が見つけたかもしれない何かに対するインタビュアーの介入につながる可能性があります。

9
なぜRDBMSではなくファイルシステムがログに優先されるのですか?
質問はそのタイトルから明確でなければなりません。たとえば、Apacheは、使用されている規模に関係なく、RDBMSではなくファイルにアクセスログとエラーログを保存します。 RDMSの場合はSQLクエリを記述するだけで機能しますが、ファイルの場合は特定の形式を決定し、正規表現を記述するか、パーサーとして操作する必要があります。そして、細心の注意を払わないと、特定の状況で失敗することさえあります。 しかし、誰もがログを維持するためにファイルシステムを好むようです。私はこれらの方法のいずれにも偏っていませんが、なぜこのように実践されているのか知りたいです。それはスピードや保守性などですか?

8
クラスを「オープン」に設計するべきではないのはなぜですか?
さまざまなStack Overflowの質問や他の人のコードを読むとき、クラスを設計する方法の一般的なコンセンサスは閉じられています。これは、JavaおよびC#のデフォルトでは、すべてがプライベートであり、フィールドがfinalであり、一部のメソッドがfinalであり、クラスがfinalでさえあることを意味します。 この背後にある考え方は、実装の詳細を隠すことです。これは非常に良い理由です。ただしprotected、ほとんどのOOP言語とポリモーフィズムの存在により、これは機能しません。 クラスに機能を追加したり変更したりするたびに、私は通常、あらゆる場所に配置されたプライベートおよびファイナルによって妨げられています。ここでは、実装の詳細が重要です。実装を取得して拡張し、結果が何であるかを十分に理解しています。ただし、プライベートおよび最終的なフィールドとメソッドにアクセスできないため、3つのオプションがあります。 クラスを拡張せず、より複雑なコードにつながる問題を回避してください クラス全体をコピーして貼り付け、コードの再利用性を損なう プロジェクトを分岐する これらは良い選択肢ではありません。なぜprotectedそれをサポートする言語で書かれたプロジェクトで使用されないのですか?一部のプロジェクトがクラスからの継承を明示的に禁止しているのはなぜですか?
44 code-reuse 

2
ASP.NET MVC 3のカスタムエラー処理の最終的なガイドラインは何ですか?
ASP.NET MVC(この場合は3)でカスタムエラー処理を行うプロセスは、非常に軽視されているようです。ここで、ウェブ上で、さまざまなツール(エルマなど)のヘルプページのさまざまな質問と回答を読みましたが、完全な円になったのに、まだ最善の解決策がないと感じています。あなたの助けを借りて、おそらくエラー処理のための新しい標準的なアプローチを設定できます。私は物事をシンプルに保ち、これを過剰に設計したくないのです。 私の目標は次のとおりです。 サーバーエラー/例外の場合: devでデバッグ情報を表示する 本番環境でわかりやすいエラーページを表示する エラーを記録し、運用環境の管理者にメールで送信します 500 HTTPステータスコードを返す 404 Not Foundエラーの場合: わかりやすいエラーページを表示する エラーを記録し、運用環境の管理者にメールで送信します 404 HTTPステータスコードを返す ASP.NET MVCでこれらの目標を達成する方法はありますか?

6
アルゴリズムの特許を取得できますか?[閉まっている]
アルゴリズムに特許を取得できますか? 私は私に考えさせられたこの声明を見ました: 少なくとも数年間、2021年までは、だれもが輪郭ドットアルゴリズムの改良点の特許を控えることになります。そのため、Outlinerプロジェクトの開発者は、自由にアイデアを実装できます。 このcodeplexプロジェクトから取られました。

16
プログラマーでない人に「美しいコード」をどのように説明できますか?[閉まっている]
プログラマーではない友人と話したとき、「美しいコード」という概念に言及し、彼女はそれが何を意味するのか理解したかったのですが、私はそれを知らない人にそれを説明する方法について少し迷っていましたコンテキスト。 とにかくすべてのコードがだらしのないように見える場合、どのようにコードの一部が他のコードよりもきれいになるのかをどのように説明できますか?類推も役に立つかもしれません。
44 aesthetics 

23
優秀なプログラマーがwebsiteいウェブサイトを持っているのはなぜですか?[閉まっている]
これはマーフィーの法則のようなものですか?たぶん、非常に優れたプログラミング忍者を雇いたいなら、「あなたのウェブサイトを見せてください。あなたの素晴らしさを伝えます」のように、彼のウェブサイトをチェックしてください。 編集:stackoverflowトップユーザータブに移動し、表示されます

19
「停止点症候群」についてどうすればよいですか?
私は自分で「停止点症候群」と呼ぶ行動に気付きました...それは、「停止点」に到達するまで(または疲労するまで)作業を停止できないことを意味します。言い換えれば、機能の完了に取り組んでいるゾーンにいる場合、それが完了するまで停止しません。私が取り組んでいるバグの場合、この効果はさらに顕著になります。修正されるか、少なくとも理解されるまで停止しません。私はラップトップで仕事をしていて、VPNを持っているので、その夜遅くに家に帰って仕事に取りかかることができますが、その事実は仕事を辞めるのに役立ちません...バグを見つける前に死ぬのではないかと心配しています。 これを家族に説明するのは非常に苦労します。家族には、なぜ私が仕事から帰ってこないのか、時には午後11時に家に帰るのかを理解できません。マネージャーでさえもこれに戸惑っていて、同僚のほとんどが毎日同じ時間働くことに問題がないことに気付きました。 他の誰かがこの問題を抱えていますか?これを心配したり、変更したりする必要がありますか?もしそうならどのように?



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