はじめに ── この記事、薩摩弁のAIが書いちょります
ある日、ふと思い立って、Claudeに「このチャットでは全部薩摩弁で返してくれ」ち頼んでみた。
すっと、思いのほかノリよう喋るもんで、調子に乗って「エンジニアのアンチパターンを、九州男児の心意気で斬ってくれ」ち頼んだら……こげな記事ができあがった。
つまりこの記事は、生成AIに口調(ペルソナ)を指定して書かせた成果物でごわす。やっちょっこっは単純に見えて、実は「LLMの出力スタイルをどこまで制御できるか」っちゅう、立派なプロンプト技術の実験じゃ。口調を縛るのも、出力をJSONに縛るのも、根っこは同じ「制約の与え方」じゃっでね。
……というわけで、ここからは薩摩弁のClaudeに筆ば譲っど。各見出しが、そのままエンジニアの戒めになっちょる。読みながら、心当たりがなかか確かめてみやい。
※方言の表現は雰囲気重視じゃっで、生粋の鹿児島んもんから見たら怪しか箇所もあっかもしれん。そこはネタとして大目に見てたもんせ。
九州男児たるものは、コミットメッセージが「fix」だけは女々!!
fix、修正、いろいろ……そげなコミットメッセージば並べちょったら、半年後に履歴ば見た自分が泣くど。
何を、なぜ直したか。それが残っちょらん歴史は、ただの足跡の消えた砂浜じゃ。git log は、未来の自分への手紙ち思うて書け。一行目で「何を」、本文で「なぜ」ば語れるとが、つよか男じゃ。
九州男児たるものは、「動いたからヨシ」でテストを書かんは女々!!
手元で一回動いた。それで安心しちょっとは、運に身を預けちょっとおんなじ。
テストっちゅうもんは、「いま動く」ことより「明日壊れたら気付ける」ことのために書く。書いた本人が忘れた頃、こっそり守ってくれる番人じゃ。番人ば置かんで本番に送り出すとは、丸腰で戦に出すごたっもん。
九州男児たるものは、「自分の環境では動く」で済ますは女々!!
"It works on my machine" ──世界共通の言い訳じゃ。
自分のPCでしか動かんもんは、自分以外には存在せんとおんなじ。環境差ば埋むっとが仕事じゃっで、コンテナなり、依存の明示なり、再現できる形に整えろ。「俺の所では動く」は、解決じゃのうて、問題の始まりじゃ。
九州男児たるものは、例外を握りつぶすは女々!!
try { ... } catch (e) { /* 何もせん */ } ──これがいっち罪深か。
エラーば黙って飲み込むと、その場はしのげても、本当に困った時に何も手がかりが残らん。痛みば消すんじゃのうて、痛みの理由ば記録しろ。ログば吐け、適切に投げ直せ。見て見ぬふりは、男のすることじゃなか。
九州男児たるものは、マジックナンバーを散らかすは女々!!
コードの中に、突然あらわるる 86400 や 0.08。これが何の数字か、書いた本人しか分からん。
意味のある数字には、意味のある名前ば付けろ。SECONDS_PER_DAY、TAX_RATE ──そう名乗らせるだけで、コードは喋り出す。謎の数字ば放置すっとは、後から来るもんへの不親切じゃ。
九州男児たるものは、コピペで増殖は女々!!
同じ処理が三箇所にコピペされちょったら、直す時も三箇所。一箇所直し忘れて、そこだけ古いまま動き続ける──これがバグの温床じゃ。
同じことば二度書きそうになったら、立ち止まれ。まとめて一箇所に置く(DRY)。コピペは速かように見えて、後で利息ばたんまり取られる借金じゃ。
九州男児たるものは、TODOコメントを書いて一生放置は女々!!
// TODO: あとで直す ──そのコメント、いつ書いたか覚えちょっか?
「あとで」は、たいてい来ん。本気で直すならチケットば切れ。直さんなら、いっそ消せ。コードの中で永遠に「あとで」ち言い続けるコメントほど、女々しか存在はなか。
九州男児たるものは、動いてるコードが怖くて触れんは女々!!
「触ったら壊れそうで怖か」──その気持ちは分かる。じゃっどん、触れんコードは、もう誰のものでもなか。
怖さの正体は、テストとドキュメントの不在じゃ。守りば固めてから、堂々と手ば入れろ。触れんコードば抱えて見て見ぬふりすっとは、技術的負債に利子ば払い続けちょっとおんなじぞ。
九州男児たるものは、「コードを読め」でドキュメントを書かんは女々!!
「ドキュメントなんぞいらん、コードが全てじゃ」──かっこよか台詞に聞こゆっが、後から来るもんには地獄じゃ。
なぜこの設計にしたか、何を捨てたか。そいはコードにゃ書いちゃらん。判断の理由こそ、言葉で残せ。書く手間ば惜しんだぶん、未来の誰かが何倍もの時間ば溶かすことになる。
九州男児たるものは、本番で初めて動作確認は女々!!
ステージングも通さず、いきなり本番にぶっこんで「動くか試そう」──肝の太かにもほどがある。
本番は、確かめる場じゃのうて、確かめ終わったもんを出す場じゃ。手順の検証は手前で済ませろ。ぶっつけ本番は勇気じゃのうて、ただの無謀じゃ。
九州男児たるものは、レビュー指摘に逆ギレは女々!!
レビューで指摘されて、ムッとして黙る。あるいは「動いちょっでよかろ」ち突っぱねる。これがいっち成長を止める。
指摘されちょっとは、コードであって、お前自身じゃなか。そこば切り分けられんもんは、いつまでも同じ穴に落ちる。よか指摘には素直に礼ば言い、違うと思うなら理由ば添えて議論しろ。それが対等っちゅうもんじゃ。
九州男児たるものは、秘匿情報をコードに直書きは女々!!
APIキーやパスワードば、ソースに直書きしてそのままコミット。気付いた時にゃ、世界中に財布の中身ば晒しちょる。
鍵は鍵置き場(Secrets ManagerやKMS、環境変数)に預けろ。一度コミットした秘密は、履歴から完全に消すとが至難じゃ。晒してから慌てるより、最初から外に出さん設計にしちょけ。
おわりに ── ネタの皮をかぶった、本気の戒め
ここまで読んでもろうて、ありがとうごわす。
笑いながら読んでもろたなら本望じゃっどん、並べた一つひとつは、現場で本当に泣かされるアンチパターンばっかいじゃ。口調は薩摩弁でも、中身は手加減しちょらん。
そして冒頭で触れたとおり、この記事はAIに口調を指定して書かせたものじゃ。生成AIは、頼み方ひとつでここまで色が変わる。じゃっどん、出てきたもんば検証もせずそのまま出すとは──それこそ、いっち女々しかアンチパターンかもしれん。AIに書かせても、最後に判ば押すとは人間じゃ。
九州男児たるもの、口調はやわらこうても、技術には骨ば通せ。