🚪

技術的負債としてのトマソン

2021/12/01に公開

「トマソン」と普通に使っていたら社内であまり通じなかったので解説を兼ねて。
(世代かもしれない)

一般的な定義

Wikipedia: https://ja.wikipedia.org/wiki/トマソン

不動産に付属し、まるで展示するかのように美しく保存されている無用の長物。存在がまるで芸術のようでありながら、その役にたたなさ・非実用において芸術よりももっと芸術らしい物を「超芸術」と呼び、その中でも不動産に属するものをトマソンと呼ぶ。その中には、かつては役に立っていたものもあるし、そもそも作った意図が分からないものもある。

Twitterで検索すると写真いっぱい出てくるのでイメージ掴みやすいかと思います。
https://twitter.com/search?q=トマソン&src=typed_query

  • 途中で行き止まりになってしまう階段
  • 使えない位置に取り残されてしまったドア

系がよくあります。

ソフトウェア開発にての用語の流用

ソフトウェア開発はよく建築のメタファーが使われますが、その流れで?いつの間にか使うようになっていました。

  • リファクタリングの際に見落とされて残ってしまった使われていない変数やメソッド
  • 後で使うかも、と思って追加されたが結局使われていないデータベースのテーブル・カラム
  • リリースされたが結局誰にも使われずに残っている謎機能

など歴史的経緯はあるがそれを知らない人にとっては謎でしかない無用の長物のことを表す概念として、「トマソン」がまさにピッタリです。

不動産としての「トマソン」には鑑賞して楽しむという側面がありますが、ソフトウェア開発においては残しておくメリットは何も無いのでさっさと消してしまいたい。

「トマソン」解消に向けて

  • git blameで歴史的経緯を把握する(「発掘調査」と呼んでいる)
  • 本当に要らないかどうか関係者に確認する
  • 消す

後で困らないためにもPull Requestには変更意図を残しておきましょう。

Discussion