「技術的負債は、テトリスのようなものです」

ウィキペディアによると、技術的負債(技術的負債)は、「最良のソリューション全体のアプリケーションが登場するのではなく、短期的に達成するためにコードを簡単に使用している場合、追加の開発作業を反映して、プログラミングにおける概念」です。技術的負債は、金融債と比較することができます。債務は技術を返済していない場合、それは後で変更を実装することはより困難につながった「関心」を、蓄積されます。しかし、技術的負債は時々ちょうど前方プロジェクトを移動するために技術的負債を必要とし、必ずしも悪いことではありません。

開発者  ジョナサン・Boccaraテトリスに比べて技術的負債。最初のゲームは、ちょうど何からコーディングプロジェクトの始まりのように、空白のページから開始する必要が同じです。

その後、ボックスは、各ボックスは、ゲームの残りの部分に影響を与える位置に配置され、落ちるようになりました。あなたは状況についてあまり考えずに自由落下ボックスを作る場合は、次のゲームはより困難になるだろう。逆に、きれいな、コンパクトを構築しようとしている場合は、より管理後半。

それぞれの新しい開発は、修正したり、新しい箱のような既存のコードとの統合の必要性です。テトリス構造の抜け穴を残すかのように、それらを破るために迅速かつ汚い方法であれば。あなたには、いくつかの空白または少数の抜け穴を残すことを希望する場合は、修正プログラムや開発プログラムを統合するためにクリーンなソリューションを設計する時間を費やす必要があります。達成することは容易ではありませんが、長期的に報われる。

テトリスゲームは常に限り、増加または減少し、排除する計画があるので、フラットな構造を必要とされていません。垂直バーは、スライドに部屋を作ると楽しいの感覚で、同じの最初の4行をクリアしたいです:

あなたは充填穴の上部を取り除くことができるようにしても、いくつかの抜け穴を残して、あなたは、それ以上のコンパクトなラインを保持することができます。我々は将来的に返済する、との計画を制御することができれば技術的負債は、あまりにも、借金を高めるために、適切なことができます。

ボックスの上に重ね、過去の貧しい債務管理技術、新しい機能を追加することはできません。この時点では、前方唯一の方法は、リファクタリングにより、コードを簡素化するために、過去に戻ることです。しかし、これは本物のテトリスゲームで行うことはできません。

同じテトリス開発者に比べて他の技術的負債  コリン・オデルは信じているが、あなたが技術的負債を管理するために、テトリスと同様の思考プロセスを再生するために使用する必要があります。

  • 如何排列先前的块?(当前如何构建代码库? )
  • 是否有放置当前块的理想位置?(是否有执行当前任务的理想位置? )
  • 接下来会出现什么障碍,它们将如何调试?( 接下来会出现什么功能,它们又将如何适应? )

这样做将使维护现有功能以及引入新的更改和功能变得更加容易。 当你背负技术债时,不妨借鉴俄罗斯方块的思路,或是玩几局游戏,说不定能激发灵感。​​​​​​​

おすすめ

転載: www.oschina.net/news/112999/technical-debt-is-like-a-tetris-game