web-dev-qa-db-ja.com

フレームワークをパフォーマンスの打撃と見なす同僚とのコミュニケーション方法

よくある回答が「jqueryうまく機能しない」または「10個しか必要ないのにエンティティがテーブルに12個の列を取り込む」?

私は経験を通じて開発した公理を信頼する傾向がある実用的な人です(目に見える減速が見られるまではパフォーマンスの問題ではありません)。他の極端なものが当てはまる特定の「カテゴリ」があるかどうかはわかりませんが、他の方法で証明されるまで、またはここで通信を開始する場所でさえ、すべてがパフォーマンスの問題です。

10
P.Brian.Mackey

難しい事実を持ってきてください!

たとえば、ORMおよびJSフレームワークのパフォーマンスベンチマークがあります。それに加えて、すべてのフレームワークとORMは、ホームページで売れ行きの良い議論をしています。

あなたのコメントを読んだ後、私はあなたの場合、問題は正しいテクノロジーではないと信じています。新しいテクノロジーを学ぶことを拒否するのは人々です。

15
Amir Rezaei

私は以前にこの問題に直面しました。人々は車輪の再発明を望んでいます。私は通常、下にあるものではなく、重要なものを完成させるために時間を費やすと、製品をより良く、より洗練されたものにすることができると彼らに説明します。それに...私はフレームワークが理由のためにあることを意味します、そしてパフォーマンスは実際には最近それほど問題ではありません。信頼性はより重要であり、フレームワークが優れたレビュー/評価を持っている場合、それらはおそらく誰もがその場で作ることができるものよりも信頼性があります。

6
user6791

誰もがあなたの同僚に反対しているようですが、彼の見解を理解する以外の理由がなければ、彼の議論を真剣に受け止めるべきだと思います。私は、フレームワークが必要なとき、または実際に最適化を提供するときにフレームワークを固く信じていますが、フレームワークに過度に依存すると、場合によっては開発が弱くなる可能性があると考えています。

同僚が間違っているという観点からではなく、考えているフレームワークを使用することで開発時間、パフォーマンス、メンテナンスなどが向上するという観点から、問題に取り組むべきだと思います。

私は常に、適切な仕事に適切なツールを使用することを念頭に置いています。写真を掛けるために釘を打ち込むのに12ポンドのスレッジ(jQuery)は必要ありません(画像の交換)。しかし、壁に留めるために線路のスパイクが必要な写真をぶら下げている状況に遭遇した場合は、そのそりを準備しておく方がよいでしょう。

6
Joel Etherton

彼は正しいです、オーバーヘッドがあります

しかし、フレームワークのオーバーヘッドが手作業でコーディングされたソリューションよりも大きいという仮定は正しくない可能性があり、たとえそれが正しいとしても、オーバーヘッドは正しくない可能性があります重要ではありません。

テストを提案する:

  • 二人とも現実的だが比較的小さいものを書く
  • あなたはjQuery(または何でも)を使用し、彼はnothingを使用できます
  • 2つのことを測定します:
    1. 両方がソリューションをコーディングするのにかかる時間(コーディングスキルが同等であると仮定)
    2. 各ソリューションの実行にかかる時間(ライフサイクル全体)

フレームワークには小さなオーバーヘッドが発生する可能性があります-verysmall-しかしhuge所要時間の違いソリューションをコーディング[およびデバッグ!]する

そうすれば、あなたの友人はあなたの代わりに事実と議論することができます

注:継続的な抵抗に備えてください。多くの場合、フレームワークに対する反発は技術的な用語で表されますが、実際には「ここで発明されていない」または「別のツールを学びたくない」という煙幕です。

4
Steven A. Lowe

車輪の再発明をしている同僚に、彼がしているのはさまざまな時期尚早の最適化であることを思い出させてください。問題を引き起こすことが実証されるまで、これらのフレームワークが許容できないパフォーマンスの打撃を表していることをどうやって知ることができますか。その間、あなたの相互の生産性は確かにあなたがしなければならなかったすべての余分な仕事でずっと下がっています。

3
Adam Crossland

プロジェクトのパフォーマンスへの影響を説明するのはどうですか配信時間これらの時間の節約とテスト済みの膨大なフレームワークの一部を使用しない場合はどうでしょうか。

2
G_P

1つのオプションは、パフォーマンスチューニングを担当するようになることを彼に伝えることです。パフォーマンスの問題があることを示すことができれば!または、リソースがある場合は、2つの概念実証を作成します。jQueryを使用して作成するものと、その他必要なものすべてを作成します。彼は彼自身の手巻きの超高速システムで彼を構築することができます。これを2日以上続けないでください(これは概念実証です)。最後に誰がより良いパフォーマンスを発揮するかを確認してください。

そしてもちろん、他の人が言及しているように、議論の両側のいくつかの難しい数値とパフォーマンスプロファイルを取得します。

まず、彼はあなたの特定の状況に適しているかもしれません。

あなたは彼にあなたの視点を見てもらうのに問題があるように思われるので、あなたは彼を説得するより良い仕事をする必要があります。

あなた2人は、「構築」と「購入」の間の線に沿った2つの異なるポイントにいます。これはかなり長い行です。左側の「ビルド」には、業界全体をビルドする必要のあるSpaceXがあります。右側の「購入」では、すべてのIT機能をIBMやHPなどに完全にアウトソーシングしており、ビジネスはコーディングをまったく行っていません。真ん中、約2mm離れたところに2人います。フレームワークやオームなどでの「構築vs購入」へのアプローチ、つまり「購入」とは「社内で構築されていない」という意味で、長い間、会社の最善の利益になることを経営陣に納得させる必要があります。 -期間。 TwitterがIBMにアウトソーシングしていたら、死んでいたでしょう。彼らは自分で転がした。それについて考えてください。

いずれにせよ、経営陣はゴルフコースを降りてそこに入り、仕事をする必要があります。

1

ORMの場合、答えは「クエリをそのように記述した場合にのみ、SQLについても同じことが言えます」です。他の人が言っているように、難しい事実はあなたが必要とするものです。

また、彼の言うことを掘り下げるために具体的な質問をしてください-「それは私の経験ではないので、JQueryが実行されない例を教えてください」。

3番目のオプション、そして賢明な古い開発者が私にこれを提案しましたが、とにかく「もの」を含めるだけです(悪い問題がないと仮定して)。

承認を求めることは、「いいえ」の答えにつながるだけです。そこに入れて、特定の領域を指すように依頼し、何が問題なのかを教えてもらうことができます。

「ねえ、このEFコードは、そのテーブルから必要な2つのデータ項目だけを返します。何が問題なのですか」など。

明らかに、このアプローチを進める前に、自分自身と使用しているツールにかなり自信を持っている必要があります。 :-)

0
ozz

そのようなライブラリを手に負えないほど拒否することは愚かで、時には傲慢です。これらに費やされた製品時間とそれらの背後にある考えは、それらを拒否することを単にばかげています。

設計の一部であるソフトウェアの要求を比較して重み付けする必要があるため、同僚が正しい可能性があります。 ORMまたはActiveRecordソリューションは、やり過ぎである可能性があります。逆に、ソフトウェアにはDB用の実際に結合されたソリューションが必要であり、ORMはそれを削減しません。

これらのことを考慮に入れることは、ソフトウェアを設計するたびに重要です。

クライアント側のライブラリの場合、ニーズに適したフレームワークをいつでも見つけることができるので、それは明らかに愚かだと言わざるを得ません。そして、私の前に言われたように、戦闘でテストされたフレームワークよりも優れているものは何ですか?

彼にすべてのクロスブラウザの問題からがらくたを取り除いてもらいましょう。彼はフレームワークの使い方について喜んであなたのところに来ます。

ところで、私にはかつてフレームワークを考慮しなかった上司がいました。関数を何度もコピーするのではなく、ajaxリクエストを作成するのがいかに簡単かを彼に示しました(そもそもこれはばかげたアイデアでした)、まあ彼はそのようにコーディングする方法を知りませんでした。

0
Cu7l4ss