Shotnest · ライブラリ
コードの文章と見た目の文脈を一緒に残す
コードのような5行でサンプルはコードの棚に5点を得て、totalという語がレシートに1点を加えます。コピーしたテキストのそばに画像も残してください。
コードの行の数え方
Shotnestは、ソースコードのように始まる行を数えます。const、let、var、def、class、func、return、import、#include、SELECT、シェルのプロンプト、閉じ波かっこだけの行、矢印=>です。こうした行が三行以上あると、コードの棚に一行につき一点が入ります。サンプルでは、const、let、if (、return、閉じ波かっこで5点になります。
同時にマーカーの語も調べられます。totalという語は「レシート・注文」のリストにあるため、サンプルはこの棚にも1点を与えます。点数の高いコードが選ばれます。コードが二行だけだと三行のしきい値に届かず、totalだけが手掛かりになるので、結果はレシートの1点となり、確かな結果とはみなされません。
入力値
- テキスト
- const count = 2; let total = 0; if (count) { return count; }
結果
- 棚
- コード
- ルールの点数
- 5
- 設定されたルールのしきい値に到達
- はい
| 棚 | ルールの点数 |
|---|---|
| レシート・注文 | 1 |
| コード | 5 |
これはローカルルールの点数であり、確率やAIによる解釈ではありません。
コードのスクリーンショットを使えるテキストにする
- Shotnestでスクリーンショットを開き、「テキストをコピー」で認識された行を取り出します。
- インデント、引用符、かっこを画像と見比べます。文字認識では行頭の空白が落ちることがあります。
- できればファイル名や言語名がスクリーンショットに写るようにして、あとで検索で見つかるようにします。
- スニペットは自分が管理するエディタに貼り付けてそこで実行し、ターミナルには直接貼り付けないでください。
- コードが五行あるサンプル
- コード · 5
- const count = 2; と let total = 0; だけ
- レシート · 1、確かな結果ではない
コピーしたコードがおかしくなるところ
- PythonとYAMLは、インデントが崩れると意味が変わります。テキストでは保てないレイアウトも、画像には残っています。
- Oと0、lと1のような似た文字は、小さなフォントだと読み違えられることがあります。
- スタックトレースと、その原因になったコードは、別々の棚ではなく一緒に保存しておくと理解しやすくなります。
- インデントされた行もコードの点数に数えられます。行のルールでは、キーワードの前に空白があってもよいからです。
- if (count)のような行全体での検索は、認識された記号に左右されます。変数名だけで検索するほうが確実です。
棚であって、レビューではない
コードの棚は、テキストがコードの形をしているという意味です。Shotnestはスニペットを実行することも、リントにかけることも、安全性を調べることもしません。このページの分類器も、行の数え方とマーカーの点数付けを再現するだけです。