Abstract.
本稿では、設計・実装・言語仕様・UIその他あらゆる人工物に対して経験的に観測される量 Kimo-ness $K$ を導入する。
従来、設計品質は保守性、複雑度、一貫性、拡張性など多数の指標によって評価されてきた。
しかし実務においては、これらの評価に先立ち
「なんかキモい」
という観測が、高い感度で構造的欠陥を検出することが知られている。
本稿の主要結果は次の恒等式である。
$$
\mathrm{Kimo}(x) \iff \mathrm{Gross}(x)
$$
これは一見自明であるが、その自明性ゆえ約300年間体系的研究の対象とされてこなかった。
1. Introduction
ある設計 $x$ を観測した開発者が、
「これ、なんかキモない?」
と発話する状況を考える。
従来研究では、この感覚は「主観」「好み」「説明不足」として棄却される傾向にあった。
しかし多数の実務例を観察すると、Kimo-nessの上昇は以下の現象と強い相関を持つ。
- 責務境界の崩壊
- 特殊ケースの増殖
- 名前と意味の乖離
- abstraction leakage
- 「なんでここだけこうなん?」の発生
- 将来ほぼ確実に書き直すコードの存在
そこで本稿では、Kimo-nessを一次的な設計指標として扱う。
2. Definition of Kimo-ness
対象 $x$ に対するKimo-nessを
$$
K(x) \in \mathbb{R}_{\geq 0}
$$
と定義する。
ただし実際の値を測定する必要はない。
なぜなら、
$$
K(x) > 0
$$
を人間が検知した時点で通常、
「キモい」
と発話するからである。
Definition 2.1 — The Kimo Identity
$$
\boxed{\mathrm{Kimo}(x)=\mathrm{Kimo}(x)}
$$
これはKimo-nessにおける恒等射である。
圏論的には、
$$
id_{\mathrm{Kimo}} :
\mathrm{Kimo}
\to
\mathrm{Kimo}
$$
であり、入力されたキモさを一切損失なくキモさとして保存する。
3. The Fundamental Theorem of Kimo-ness
Theorem 3.1
対象 $x$ がキモいならば、$x$ は気持ち悪い。
$$
\mathrm{Kimo}(x)
\Rightarrow
\mathrm{Gross}(x)
$$
Proof
「キモい」とは「気持ち悪い」の意である。
よって、
$$
\mathrm{Kimo}(x) = \mathrm{Gross}(x)
$$
したがって成立する。
$$
\boxed{\mathrm{Q.E.D.}}
$$
4. The Converse Theorem
Theorem 4.1
対象 $x$ が気持ち悪いならば、$x$ はキモい。
$$
\mathrm{Gross}(x)
\Rightarrow
\mathrm{Kimo}(x)
$$
Proof
同上。
$$
\boxed{\mathrm{Q.E.D.}}
$$
以上より、
$$
\boxed{
\mathrm{Kimo}(x)
\iff
\mathrm{Gross}(x)
}
$$
を得る。
この結果を Kimo-ness Fundamental Equivalence と呼ぶ。
5. Nontrivial Zeros
ここでKimo-ness関数
$$
K(s)
$$
を複素平面へ解析接続したと仮定する。
自明な零点は、
$$
K(x)=0
$$
すなわち、
「別にキモくない」
設計に対応する。
一方、非自明な零点は、
「一見キモくないのに、3ヶ月後に見ると猛烈にキモい」
設計として現れる。
本稿では次を予想する。
Kimo-ness Conjecture
すべての非自明なKimo-ness零点は、
$$
\Re(s)=\frac{1}{2}
$$
上……
には特に存在しない。
ただし なんとなくそれっぽいので $\frac{1}{2}$ を置いた。
6. Application to Software Architecture
設計レビューにおいて、
$$
\mathrm{Architecture}
\xrightarrow{\mathrm{human}}
\mathrm{Kimo?}
$$
という写像を考える。
結果が True の場合、
キモい
↓
どこがキモい?
↓
責務がおかしい
↓
境界を切る
↓
キモくなくなる
という反復過程を適用する。
このアルゴリズムは次の擬似コードで表される。
while kimo(design) {
design = fix_what_feels_kimo(design)
}
終了条件は厳密には証明されていない。
実際、レビューする人間が細かい場合、永久に終了しない可能性がある。
7. Discussion
Kimo-nessの最大の特徴は、理由の言語化より 検知が先に発生する 点にある。
つまり、
$$
\mathrm{違和感}
\to
\mathrm{分析}
\to
\mathrm{構造的理由}
$$
であり、
$$
\mathrm{完全な分析}
\to
\mathrm{違和感}
$$
ではない。
このため熟練者の
「なんかキモい」
は単なる感情ではなく、多数の過去事例を圧縮した 高次元ヒューリスティック である可能性が高い。
ただし、
「なんとなくキモいので全部書き直しました」
は研究上も実務上も危険である。
したがって推奨手順は、
$$
\boxed{
\mathrm{キモい}
\to
\mathrm{理由を探す}
}
$$
であり、
$$
\boxed{
\mathrm{キモい}
\to
\mathrm{全部燃やす}
}
$$
ではない。
8. Conclusion
本稿では、約300年間見過ごされてきた次の基本原理を示した。
$$
\boxed{
\mathrm{キモいものは気持ち悪い}
}
$$
さらにその逆も成立するため、
$$
\boxed{
\mathrm{キモい}
\iff
\mathrm{気持ち悪い}
}
$$
である。
この結果は、ソフトウェア設計、言語設計、UI設計、および
「なんかこれ嫌やねんけど説明できん」
問題全般への応用が期待される。
今後の課題として、
- Kimo-nessの定量化
- Kimo Monadの存在証明
- 非自明なKimo零点の分布
- Kimo-nessと技術的負債の相関
-
Kimo<A>がFunctor則を満たすか
などが挙げられる。
References
[1] Morishita, K., 「これキモない?」, private communication, 2026.
[2] Morishita, K., 「キモいのは気持ち悪いということやからな」, foundational result, 2026.
[3] GPT-5.6 Sol, On Needlessly Making This Sound Academic, 2026.
[4] Unknown, Kimo Monad Considered Harmful, 未刊行.
※ 本記事はソフトウェア設計における「なんかキモい」を厳密に研究したものです。
※ 厳密ではありません。