目次
ブックマーク
応援する
いいね!
コメント
シェア
通報
ぐちゃぐちゃソースと神フィンガー
ぐちゃぐちゃソースと神フィンガー
深海インク
恋愛現代恋愛
2025年06月05日
公開日
2.2万字
完結済
「あたし」は自作の汚いソースコードを恋人「カレシ」に渡し、彼が「神フィンガー」で完璧にリファクタリングする過程に倒錯的な快感を覚えていた。無口なカレシが生み出す完璧なコードは、あたしの魂を浄化するエクスタシーだった。しかし、カレシの完璧さに息苦しさも感じ始め、「あたしからカレシに『気持ちいいこと』をしてあげたい」と提案する。 カレシは明確に返事をせず、後に「then, what is "your" code for "me"?」(君の僕に対するコードとは何だ?)と謎の問いを残す。悩んだあたしは、技術的な完璧さではなく自身の「不完全さ」を込めたハートビートのアニメーションを提示。カレシはそれを一部受け入れ、画面上に呼応するような小さな光を「追加」し、「ノイズが多い」と告げる。初めての「対話」めいたものに、あたしは新たな興奮を覚える。 さらにあたしは「意図的なノイズ」として曖昧なCSVデータを処理する混沌としたスクリプトを見せると、カレシはあたしの主観的な「ヤバさスコア」を「データ品質のシグナル」として解釈し、システムに組み込んだ。カレシは「もし私が自身の『ノイズ』を加え始めたら?」とさらなる変化を示唆する。 ついにカレシは、彼自身の「ノイズ」―修復不能な「壊れたコード」―をあたしに開示する。彼もまた完璧を求められ苦しんでいたのだ。あたしはそれを技術的に修正するのではなく、彼の苦悩や不完全さを丸ごと受け止めるポエムで応答する。それに心を動かされたカレシとあたしは、初めてお互いの弱さを共有する。二人は完璧さではなく、互いの「ノイズ」を聴き、「バグ」を慈しみながら、未完成な愛の物語を共にコーディングしていくことを決意。一方的な快感から相互理解へと関係は昇華し、終わりなき「ラブソング」が始まる。

第1話

わかってる。こんなの、絶対おかしいってことくらい。フツーじゃない、ってやつ? でも、ダメなんだ。やめられない。あの瞬間が、あたしの全部を、ぐっちゃぐちゃにかき混ぜて、脳みそを直接シェイクされてるみたいに、とろけさせちゃうんだから。


例えるなら、普段は清楚系OLを演じる超絶汚部屋の住人が、ゴミとヨレヨレパンツまみれの部屋、シンクの謎物体Xを、大好きなカレシに涙目で「…見て…これが、ホントのあたしなの…キモイでしょ…でも、全部なの…」とカミングアウトする瞬間。あの羞恥心と罪悪感、そして微かな期待感が混じるカオスな感情。


あたしにとっての「汚部屋」であり「緑色の謎物体X」は、あたしが書くプログラムのソースコード。

もうね、自分でも目眩がするくらい、ひどい。スパゲッティ? そんな生易しいもんじゃない。下水管に詰まったヘドロと髪の毛と虫の死骸が絡み合った代物。専門家が見たら卒倒するレベル。変数名はaとかhogeとか、良くてtemp1, temp2のオンパレード。関数? 全部メインにベタ書きじゃコラァ! コメントなんて書くわけないじゃん、未来のあたしが苦しむのは、それはそれでちょっとウケるし。


で、そんな呪物レベルのクソコードを、あたしはカレシに見せる。

カレシは、いつも無言。隣に座って、あたしが差し出したノートPCの画面を、じーっと見つめるだけ。感情が欠落しているみたい。でも、わかる。カレシの指先が、キーボードに触れる直前、ほんの僅かに、ピクって震えるのを。それは、憐憫か、それとも…期待か。


「…カレシ…これ、昨日、仕事で書いたやつ…またクレームきてさ…なんか、時々、変なデータが混じるって…もう、わかんない…」

おずおずと、Pythonコードの断片を指差す。顧客リストから特定条件のユーザーを抽出して表示するだけの、本来なら3分で書けるクソ簡単な処理のはずだった。

でも、あたしが書いたのはこれだ。


これが問題のクソコード by あたし


user_data_list = [{"name":"A子", "age":20, "city":"Tokyo", "active":True, "point":100},

{"name":"B郎", "age":30, "city":"Osaka", "active":False, "point":0},

{"name":"C美", "age":25, "city":"Tokyo", "active":True, "point":500},

{"name":"D子", "age":22, "city":"Kyoto", "active":True, "point":20}, # あれ?京都…

{"name":"E介", "age":28, "city":"Tokyo", "active":True, "point":0},

{"name":"F香", "age":None, "city":"Tokyo", "active":True, "point":1000} # 年齢がNone…

]

result_names = []

for i in range(len(user_data_list)): # まず、インデックスで回す時点でアウトらしい

temp_user = user_data_list[i]

if temp_user["city"] == "Tokyo": # ネスト!ネスト!地獄のネスト!

if temp_user["active"] == True: # 3항 연산자? 知るか!

# ↓ここの条件分岐がなんかおかしいってクレームきた

if temp_user["age"] != None and temp_user["age"] < 26: # Noneチェックが甘い、って言われても…

result_names.append(temp_user["name"] + "様はピチピチのヤング!")

elif temp_user["age"] == None: # こういうの、どう扱えばいいかわかんない…

result_names.append(temp_user["name"] + "様(年齢不詳ミステリアス枠)")


for n in result_names:

print(n)


書いてるそばから、アソコが、じわって湿ってくるのがわかる。キモい? うん、あたしもそう思う。でも、このどうしようもない汚物が、カレシの指先で生まれ変わる――その過程が、あたしを狂わせるんだ。


カレシは、何も言わず、その綺麗な指をキーボードに置く。魔法が始まる。

temp_userがuserに変わり、三重ネストが手品みたいに解体される。if文の条件式がシュッ、シュッと短く明確に。途方に暮れたageがNoneの場合の処理も、getメソッドとかいうのでスマートに解決。


カレシの華麗なるリファクタリング(途中経過のイメージ)


TARGET_CITY = "Tokyo"

TARGET_STATUS_ACTIVE = True

AGE_THRESHOLD_UPPER_EXCLUSIVE = 26


def extract_young_active_tokyo_users(users):

"""

指定されたユーザーリストから、東京在住でアクティブ、

かつ指定年齢未満のユーザー名を抽出する。

年齢が不明なユーザーは「年齢不詳」として扱う。

"""

extracted_names = []

for user in users:

is_tokyo_resident = (user.get("city") == TARGET_CITY)

is_active_user = (user.get("active") is TARGET_STATUS_ACTIVE)


user_age = user.get("age")


if is_tokyo_resident and is_active_user:

if user_age is None:

extracted_names.append(f"{user.get('name', '不明なユーザー')}様(年齢不祥ミステリアス枠)")

elif isinstance(user_age, (int, float)) and user_age < AGE_THRESHOLD_UPPER_EXCLUSIVE: # 型チェックも追加!

extracted_names.append(f"{user.get('name', '不明なユーザー')}様はピチピチのヤング!")


return extracted_names


さっきのデータで実行

user_data_list = [...]

final_results = extract_young_active_tokyo_users(user_data_list)

for name in final_results:

print(name)


「あ…あっ…んんっ!」

思わず、声が漏れる。見てるだけで体中の細胞が泡立ち、背筋を電流が駆け上る。カレシのタイプ音、カタカタカタ…ターン!のリズムが、鼓膜を愛撫して脳の奥の変なスイッチを押す。

汚くて意味不明だったコードが、整理され、論理的で、美しく、完璧なものに近づいていく。あたしの汚れた魂が浄化され、あたし自身も価値のある人間になっていくような、そんな錯覚。


「はぁっ…はぁっ…カレシぃ…すご…いぃ…」

息も絶え絶えにあえぐあたしを無視し、カレシは作業を続ける。最後には、あのコードは信じられないくらいシンプルで、エレガントで、バグのない芸術品に変わっていた。


「…できた」

カレシが呟く。それが「イってよし」の合図。

「あ゛あ゛あ゛あ゛ーーーーーーッ!!!」

強烈なエクスタシーの波に飲み込まれる。脳みそが真っ白になり、思考は吹っ飛び、純粋な快感だけが全身を支配する。どんなセックスよりも、ずっと、ずっと、キモチイイ…。あたしの「存在」そのものが肯定され、磨かれ、輝きを放つ瞬間だから。少なくとも、あたしはそう「感じて」しまう。


…でも、最近、少し違和感を覚え始めてる。

あの快感は麻薬だ。あたしはカレシに、もっと汚くて複雑で絶望的なクソコードを差し出すようになった。彼はそれを完璧な芸術品に変え、あたしは天にも昇る快感を味わう。


でもある日、カレシが完璧にリファクタリングしたJavaScriptを眺めながら思った。インデント一文字まで計算され尽くした美しさ。変数名は詩的で、関数の分割は神の創造のよう。

その完璧すぎるコードを前に、少し息苦しさを感じた。


// カレシが書いた完璧すぎるDOM操作の例(イメージ)

// HTML: <ul id="itemList"></ul> <button id="addItemButton">Add Item</button>

(() => {

'use strict';


const itemListElement = document.getElementById('itemList');

const addItemButton = document.getElementById('addItemButton');

let itemIdCounter = 0;


const state = {

items: []

};


const createListItemElement = (item) => {

const li = document.createElement('li');

li.dataset.id = item.id;

li.textContent = item.text;


const deleteButton = document.createElement('button');

deleteButton.textContent = 'Delete';

deleteButton.classList.add('delete-btn');

deleteButton.addEventListener('click', () => removeItem(item.id));


li.appendChild(deleteButton);

return li;

};


const addItem = (text) => {

const newItem = { id: `item-${itemIdCounter++}`, text };

state.items = [...state.items, newItem];

render();

};


const removeItem = (id) => {

state.items = state.items.filter(item => item.id !== id);

render();

};


const render = () => {

while (itemListElement.firstChild) {

itemListElement.removeChild(itemListElement.firstChild);

}

const fragment = document.createDocumentFragment();

state.items.map(createListItemElement).forEach(el => fragment.appendChild(el));

itemListElement.appendChild(fragment);

};


addItemButton.addEventListener('click', () => {

const newItemText = `Item ${itemIdCounter}`;

addItem(newItemText);

});


addItem('Initial Item 1');

addItem('Initial Item 2');

IGNORE_WHEN_COPYING_START

content_copy

download

Use code with caution.

IGNORE_WHEN_COPYING_END


})(); // 即時関数でスコープを汚さない徹底ぶり


「…ねえ、カレシ」と、あたし。「こんなに綺麗じゃなくても…別に、動けばよくない?」

あたしが書いた、グローバル変数汚しまくりのクソJSだって、なんとか動いてた。バグはあったけど、直せばいい。ここまでピッカピカじゃなくてもいいんじゃないか。


カレシは何も言わず、次の「汚物」を待つように静かにあたしを見つめていた。

その時思った。プログラムだけじゃない。あたし自身もそうだ。

完璧じゃなくても、人間的な魅力があればいいんじゃない? 無理して自分を商品みたいに磨き上げなくても。あたしのぐちゃぐちゃな髪、太めの二の腕、変なエクボ。全部「バグ」や「欠点」でも、それがあたしなんじゃないの?


…なんて高尚なことを考えても、結局カレシの神フィンガーが、あたしの次のクソコード――意味不明な正規表現とビット演算が闇鍋になったPerlワンライナーもどき――に触れた瞬間、脳みそは「あへぇ、おにい゛ぢゃん゛!」状態。抗えない。

あたしはカレシの作り出す「完璧な美」に犯され続ける中毒患者なんだ。


でも最近、カレシのこともよくわからなくなってきた。彼は何者? いつもどこかから現れて、コードを綺麗にしたら消える。名前も知らない。人間なのかすら怪しい。

彼は「修正」するけど、「教え」ない。アドバイスもダメ出しも一切なし。それが彼の「使命」かのよう。

もしかして、カレシはあたしの歪んだ欲望が生み出した幻覚…? それともコードを糧にするデジタル生命体…? アンタ、誰なの?


あたし自身もわかんない。なんでこんな変態的なことに快感覚えるのか。こんな自分おかしいのに、身体は正直でカレシのリファクタリングを求めてしまう。どうしてクソコードが綺麗になることに性的興奮を覚えるんだろう?


ぐちゃぐちゃだ。あたしの頭の中も、カレシとの関係も、人生も。エラーだらけのスパゲッティプログラム。


でも…それでも、カレシのことをもっと知りたい。このわけのわからない「絆」みたいなものの正体を突き止めたい。

そのためには…。今度は、あたしから何かを「提供」しなきゃ。

カレシの方をまっすぐ見た。相変わらずガラス玉みたいな瞳。


「ねえ、カレシ…」声が震える。「い、いつも…汚いコードを綺麗にしてくれて…ありがとう…。で、あのさ…いつもあたし『ばっかり』気持ちよくなっちゃってて…なんか、申し訳ないっていうか…」

言葉がうまく出ない。

「だから…その…もしよかったら…なんだけど…」唾を飲み込んだ。顔が熱い。

「今度は、あたしが、カレシに…何か、『気持ちいいこと』…してあげたいんだけど…どう、かな…?」


言っちゃった。

カレシの完璧な無表情が、ほんの少し、ピクリと動いた気がした。

あたしの、生まれて初めての「プルリクエスト」だったのかもしれない。

カレシという謎のシステムへの「機能追加」の提案。あるいは致命的な「バグ」の指摘。


…返事は、まだ、ない。

この作品に、最初のコメントを書いてみませんか?