コードスニペットの管理方法や命名規則について

この記事の要約
- 先頭に「
js」や「html」「css」などの接頭辞をつけて検索しやすくする - 最後に「
;;」や「]\」「jj」など接尾辞を付けて終了だと分かるようにする - 単語の区切りは「
_」か「-」かあらかじめ決めて統一する
このブログでは過去にスニペットに関して何度か取り上げてきました。
今回はスニペットの中でも、コーディング時に使用する「コードスニペット」にフォーカスして、自分なりのルールや使い方を改めて整理します。
スニペットの種類
テキストスニペット
「メールのテンプレート」「課題展開時に使う文章」など、ある程度決まったフォーマットをスニペットとして保存しておきつつ、必要に応じて呼び出して使います。
- 毎回考えたり、入力する時間が削減できる
- 手入力によるタイプミス・抜け漏れが減る
- 決まったフォーマットで来た方が受け取る側もラク
コードスニペット
コーディングに必要なコードを保存しておきつつ、コーディング時に必要に応じて呼び出して使います。
- 毎回考えたり、入力する時間が削減できる
- 同じような内容を何度も手入力したり、前の内容を探して毎回コピペする手間と時間が減る
- スニペットアプリでの呼び出し方法さえ覚えていれば、その内容は覚えてなくてもよくなる
- ド忘れしたときも、断片的に覚えていれば呼び出せる
- Googleで検索し直すムダがなくなる
- 1度作り込んでテストもしたコードであれば、バグも生み出しにくい
短文の入力
おまけですが「単語登録」も入力を補助してくれる強力な機能です。
いまはATOKを使っていて、ドンドン単語を登録していっているのと、ちょっとした短文レベルの入力であれば変換で出てくるようにしています。
よく使う短文を組み合わせていって骨組みを作り、あとは状況に合わせて入力(会社名やサービス名も単語登録で間違いのないように変換)すると早く・キレイに文章が作れます。
スニペットアプリの選定
自分の場合、コードスニペットはDashを使用しています。
ちなみにテキストスニペットはAlfredという風に使い分けています。
Alfredはスニペットの追加がしやすく、クリップボード履歴でcommand + Sを押せば、すぐにスニペット登録画面が起ち上がります。
「そういえばこれ、何度もコピペしてるな」と気づいたタイミングですぐ登録ができます。
呼び出しに関してもAlfredは使い慣れていて使い勝手も良いです。
ただ、一方でコードハイライトに対応していなかったりなど、コードスニペットとしては万能ではありません。
そこで、コードスニペットに関してはドキュメント検索もできるDashに任せることにしました。
また、スニペット検索時にテキストスニペット用に接頭辞を付けたりするのが面倒ですし、そこからのカテゴリ分けも面倒です。
テキストはAlfredでコードはDashとしておけば、トリガー用のショートカットキーを押す時点でフィルタになるので便利です。
コードスニペットのルール
Dash 5はいくつもスニペットを登録していくのがラクだったのですが、Dash 6からは一気に登録していくのが面倒なので最初は苦労しそうです。
(タグを選択して新規スニペット追加をすると、自動でタグも付いていた)
いっぱい登録したあとに修正するのは面倒なので、最初にある程度しっかりルールを決めておきましょう。
接頭辞
最初にどの言語なのか分かるように接頭辞を入れておくと、検索するときに絞り込みがしやすくなります。
- js_:JavaScript
- html_:HTML
- css_:CSS
- php_:PHP
接尾辞
接尾辞を入れておくと、スニペット入力の終了を明示的に表せます。
下記のような2つのスニペットを登録する場合、2つ目のスニペットは発火できなくなってしまいます。
「js_foreach」を発火させようとしても、js_forと途中まで入力したタイミングで「js_for」の方が発火してしまうからです。
- 「js_for」
- 「js_foreach」
接尾辞を入れておくとこのような問題が起こらなくなります。
- 「js_for;;」
- 「js_foreach;;」
「js_for」を発火させたい場合は入力後に「;;」を入力すれば発火しますし、「js_foreach」に干渉しません。
接尾辞はいろいろありますが、下記のポイントに注意して決めましょう
- 干渉しないような文字にする
- 2文字以上が理想(1文字だと意図しない発火の可能性がある)
- できればホームポジションからあまり動かさないで入力できる文字
一時期、US配列のenter上の「]\」にしていましたが、ホームポジションから離れているので現在は;;にしています。
他にもホームポジションで常に人差し指がある「jj」も候補でしたが、やはり文字より記号の方が分かりやすいです。
Dash公式のオススメは「``」みたいですが、チルダもUS配列の左上端なので「;;」にしました。
ホームポジションから動かさずに、右手薬指で入力します。
単語の区切り
単語の区切りは完全に好みですが「-(ハイフン)」か「_(アンダースコア)」で統一するようにしましょう。
ちなみに、ハイフンの場合はダブルクリックで単語が選択できますが、アンダースコアの場合はダブルクリックで全選択になるので、この辺りも考慮しておきましょう。
自分の場合は単語の区切りはアンダースコアの方が多いので、慣れているアンダースコアを使うようにしています。




iOS Safariで文章の最後の1文字だけ改行されてしまう現象の対処法
WordPressの自動バックグラウンド更新を無効にする方法とその注意点
SafariのURLメニュー部分も考慮できるCSSの単位「dvh」
Dashで「Secure Input is Enabled」と表示される場合の対処法
JavaScriptで特定のOSやブラウザの判定を行う方法
サイトを運営する時必ず登録しておきたいGoogle Search Console(サーチコンソール)の登録方法
ブログに見出しを設置できるjQueryプラグイン「TOC | jQuery Table of Contents」
Vue CLIをインストールしたのに「command not found: vue」と表示されてしまう場合の対処法
コーディング時に「アノテーションコメント」を使ってコードを見やすく管理する
.htaccessを使って、httpからhttpsへリダイレクトする設定方法
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
Macでアプリごとに音量を調節できるアプリ「Background Music」
Macのターミナルでパスワード付きのZIPファイルを作成する方法
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる
SteerMouseの「自動移動」機能で保存ダイアログが表示されたら自動でデフォルトボタンへカーソルを移動させる
iPhoneでタッチが一切効かなくなった場合に強制再起動する方法