質問

誰もが再利用性について話すのが好きです。私が働いている場所、いくつかの新しいアイデアが放り投げられたりテストされたりするたびに、再利用性の問題が常に起こります。 「これへの投資を最大化したいのですが、再利用可能にしましょう。」 「再利用性は、より少ない作業でより高い品質をもたらします。」などなど。

私が見つけたのは、再利用可能なコンポーネントまたはアイデアが導入されたとき、誰もがすぐにそれを恐れて、それを悪い考えとして書き留めるということです。アプリケーションがそれに依存するようになると、彼らはそれが維持可能ではなく、変更がそれを使用するすべてのものについて回帰テストを行う必要があると言います。ここの人々は、特に長い間存在しており、多くの扶養家族とライチョウがあり、変化が何を破るかわからないため、変更が不可能になるようになると、1つのコンポーネントを指しています。

この苦情に対する私の回答は次のとおりです。

  1. 多くの依存者がいるコンポーネントの変更が遅いことは良いことです。なぜなら、デザイナーが実際に変化を介して考えることを強制するからです。
  2. そもそもコンポーネントを正しくするために時間をかける必要があります。回廊:常に変更する必要があると感じている場合、そもそも非常に再利用できませんでしたか?
  3. ソフトウェア開発は困難であり、作業が必要です。テストもそうです。あなたはそれをしなければなりません。

残念ながら、これらの応答で人々が聞くことは、「遅い」、「時間」、「努力」です。

経営陣からブラウニーポイントを獲得するために、私が構築するものをひっくり返すことができる魔法の「この再利用可能な」スイッチがあったらいいのにと思いますが、物事はうまくいきません。再利用可能なものを作るには時間と労力が必要ですが、それでも正しいことを保証することはできません。

それを提供するとき、「再利用性」の要求にどのように対処しますか?

役に立ちましたか?

解決

  1. 再利用性は、何かが実際に再利用される場合にのみ価値があります。再利用可能なものを書く前に、いくつかの実用的な再利用ケースがあることを確認してください。

  2. 再利用可能なライブラリがそれ自体のアドホックバージョンよりも10倍のメンテナンスが難しい場合でも、再利用可能なライブラリが10の異なる場所にあるアドホックバージョンの代わりに使用されている場合、全体的なメンテナンスを保存しています。

他のヒント

再利用性とは、同様の動作または「IS_A」関係に関してコードを再利用可能にすることです。コードブロックが何度も何度も使用しているのを見て再利用するだけでなく、同様の特性がない場合は、ゆるく結合するためにそれらを放っておく必要があります。それにより、後で変更する柔軟性を高めることができます。

よくあることの1つは、バージョンを使用して、一定の再テストを避けることです。一般的なコードの新しいバージョンがあるからといって、すべてがすぐに新しいバージョンを使用する必要があるわけではありません。他の理由で何かが更新されている場合は、Common Codeの新しいバージョンに更新します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top