競技プログラミングでは短い変数名を使いがちです。
それ自体は問題ないのですが、 変数名として rm
, del
, erase
を用いるべきではありません。
RM
, Del
など大文字が含まれるものも同様に不適です。
これらは Bash・コマンドプロンプト・PowerShell などで削除コマンドとして使われます。
例えば Bash で rm a.txt
を実行するとファイル a.txt
が削除されます。
そのため、変数名に rm
などを使うと、提出時のコードのコピペの際に誤ってターミナルにコードを貼り付けた場合、コマンドとして解釈され、ファイルを削除してしまう事故が起きやすいです。
特に Python などで rm = [0] * 100
と書いている行を bash などのシェルに貼り付けた場合、 ディレクトリ内の全ファイルが削除されてしまいます。
*
が全ファイルを表すためです。rm *
と同じ結果になります。
「消えたかどうかのフラグ」などでつい上記の変数名を使いたくなることがあるかもしれませんが、避けるのが安全です。