タグ付けされた質問 「technique」

2
次の(アンチ)パターンの名前は何ですか?その長所と短所は何ですか?
過去数ヶ月間、私は次のテクニック/パターンで数回つまずきました。しかし、特定の名前を見つけることはできないようです。また、その長所と短所を100%確信しています。 パターンは次のとおりです。 Javaインターフェース内では、一般的なメソッドのセットが通常どおり定義されます。ただし、内部クラスを使用すると、デフォルトのインスタンスがインターフェースを介してリークされます。 public interface Vehicle { public void accelerate(); public void decelerate(); public static class Default { public static Vehicle getInstance() { return new Car(); // or use Spring to retrieve an instance } } } 私にとって、最大の利点は、開発者がインターフェイスについてのみ知る必要があり、実装についてではなく、インスタンスをすぐに作成したい場合などです。 Vehicle someVehicle = Vehicle.Default.getInstance(); someVehicle.accelerate(); さらに、構成に応じてインスタンスを動的に提供するために、Springと共にこの手法が使用されているのを見てきました。この点で、これもモジュール化に役立つようです。 それにもかかわらず、インターフェイスを実装の1つと結合するため、これがインターフェイスの誤用であるという感覚を揺るがすことはできません。(依存性反転の原理など。)誰もがこの技術がどのように呼ばれるか、そしてその長所と短所を私に説明してもらえますか? 更新: しばらく検討した後、次のシングルトンバージョンのパターンがはるかに頻繁に使用されていることを再確認しました。このバージョンでは、パブリックの静的インスタンスは、(フィールドが最終であるために)1回だけ初期化されるインターフェイスを介して公開されます。さらに、インスタンスはほとんどの場合、Springまたは実装からインターフェイスを分離する汎用ファクトリーを使用して取得されます。 public interface Vehicle …

7
大規模なプロジェクトをどのように追跡しますか?
多くの異なるファイルを持つプロジェクトを扱うとき、私は常に、パーツが相互にどのように相互作用するかについて、ゆるい追跡をしているように見えます。私は小さなコンポーネントを単独で理解するのに本当に大きな問題を抱えたことはありませんが、プロジェクトの複雑さが増すにつれて、何が起こっているのかを精神的に理解することができなくなります。メソッドとソースファイルの数が増えると、特にOOPプロジェクトでこれに気付きます。 私の経歴:私は独学のWebプログラマーです。私は主にpythonを使用して迅速で汚いスクリプトを処理しましたが、いくつかの基本的なdjangoプロジェクトも実行しました。私のようなWebフレームワークのようなフラスコ、単一ファイルレイアウトの単純さに、私は簡単に何が起こっているかの(主に)追跡することができますので。 私は今、誰かが開発した大規模なZend Framework PHPプロジェクトとやり取りする必要がある状況にいることに気づき、多数のファイルに広がるコードを理解しようとすることに圧倒されます。 他の誰かが開発した大規模なコードベースを理解するために、どのテクニックとプロセスが有用だと思いましたか?全体像を把握するのに役立つ特定の図はありますか?

8
ソフトウェアで問題/問題/バグをデバッグするときに、通常どのプロセスを使用しますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または詳細な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 7年前に閉鎖されました。 ほとんどの人はデバッグを科学ではなく芸術として扱っているようです。ここでそれを芸術ではなく科学として扱う人たちのために-新しい問題/バグ/問題に直面したとき、通常どのプロセスを使用しますか?

6
アジャイルで成功するには何が必要ですか?
一部の組織ではアジャイルの採用が失敗する場合があります。ウォーターフォールが唯一の(真の)方法である会社で働いていましたが、それは彼らがプロジェクトでアジャイルを試みて失敗したためです。 まだ覚えている人たちに聞いたとき(私は後輩でした)、本当に起こった悪い悪夢を思い出させたように、私は激しくシャットダウンされました。 プロジェクトが失敗した理由はわかりません。一部の企業ではアジャイルが失敗する理由がウェブ上に記載されていますが、その理由は主に経済的です。そこで、私はここでいくつかのフィードバックをお願いすると思った。 一部の組織でアジャイルの採用が失敗する理由は何ですか?または、別の言い方をすれば..アジャイルで成功するには何が必要ですか?

5
右脳は、大規模な左脳のコードをどのように処理できますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 私はアーティストであり、ほとんどが、自分自身をアーティスト/物理学者と表現しています。私は数学、言葉、そして左脳と見なされる「論理的」なものを扱うことができますが、それは努力であり、間違いを犯します。思考-空間的関係、全体的な全体像の文脈など。もちろん、左右脳理論は単純化されており、精神活動はそれほど単純ではないため、これらはすべて曖昧です。それでも、私はアーティスト、ビデオディレクター、シェフ、その他の非言語的思考、創造的なタイプにうまく適合していると感じていますが、「IT」またはハードコアソフトウェアエンジニアのほとんどの人は、細部に注意して、一度に多くの詳細を念頭に置いて、強力で合理的かつ言語的な能力。 したがって、ここで私は、オブジェクト指向に非常に重いC ++ソフトウェアの大群の厄介であいまいなバグを修正するための仕事に就いています。それらの間の関係、実行の流れ(非常にスパゲッティのような)およびその他の詳細。 それに加えて、私は現代のC ++およびOOスタイルの多くに対してもかなり強い。このコードを書いた人は、深いオブジェクト指向とモダンなC ++クールドを本当に飲みました。実際、コードを追跡するのがはるかに難しくなり、何かを修正または変更する場所を決定するのがはるかに難しくなります。これが左/右の差の一部であるかどうか(またはあなたがそれを呼びたいもの)かどうかはわかりません。 しかし、私がしなければならないC ++に取り組む-人々は私の収入を私に依存しています。雇用主にとって可能な限り効果的であるために、この状況に対処するためのヒントとテクニックは何ですか?
11 technique  tips 

3
プロトタイプ方式のポイントは何ですか?
私はJavascript:The Good Partsを読んでおり、プロトタイプに関するセクションを理解するのに苦労しました。 少しグーグルで調べたところ、オブジェクト宣言の後にオブジェクトにプロパティを追加するという結論に達しました。 w3schoolsからきらめくこのスクリプトを使用して、プロトタイププロパティを追加する行を削除しても効果がないことに気付きました。だからポイントは何ですか? //Prototyping function employee(name,jobtitle,born) { this.name=name; this.jobtitle=jobtitle; this.born=born; } var fred=new employee("Fred Flintstone","Caveman",1970); employee.prototype.salary=null; // <--- try removing this line fred.salary=20000; document.write(fred.salary);

9
文章を使った新しいCAPTCHA?
別の可能な解決策について考えたとき、私はちょうどrecaptchaがどのように難しくなっているかについて考えていました。画像は永遠に続くわけではないので、いつか人間の論理や感情のような何かが必要になります。Googleや他の人たちは、カテゴリ別に画像をグループ化しようとしています(属していない画像を見つけます)が、これは大量の画像を必要とし、視覚障害者には機能しません。 とにかく、テキストの膨大なコレクション(各言語のパブリックドメインの本)が収集され、選択肢の選択ボックスである1(または2)の単語でユーザーに文章が表示された場合はどうなるでしょうか。正しい英語/スペイン語/ドイツ語の文法を知っているコンピュータのみが、どの単語が文に属しているかを判別できます。 このアプローチには問題がありますか?文章が表示されている言語を知っている人なら、reCAPTCHAテキストを読もうとするよりも簡単に答えを理解するのは簡単だと思います。さらに、非常に多くのセンテンスを保存すると、数ギガバイトのスペースしか必要とせず、画像/オーディオのテイクを作成するCPU時間の近くには何もかかりません。つまり、システムパフォーマンスへの影響を最小限に抑えながら、誰でも独自のキャプチャシステムをホストできます。 このアプローチに問題はありますか?より具体的には、私はこのアプローチの主な問題を探しています。 Stackoverflowから移行

2
関数の一部を取り、個々の関数を作成するプロセスをどのように呼び出しますか?
これには専門用語があったことは知っています。それが何だったか思い出せない。 タイトルを明確にする必要がある場合、ここに私が意味します。これが古いコードの場合: Result foobar(Param1,Param2,Param3) { code that does abc code that does xyz code that does asdf more code that does something } そしてそれは次のように変更されます: SomeResult do_xyz(SomeParams) { code that does xyz } Result foobar() { code that does abc do_xyz(args); code that does asdf more code that does something }
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.