尋常でないもふもふ

a software engineer blog

迷いがちな英語の変数・関数名まとめ

新しいプロジェクトはじめたり、新機能開発したりすると調べなおしたりすることが多いので順次追加していく。

類義語

お金・資源などが足りないとき

  • insufficient [形容詞]
    • メモリ不足 (insufficient memory) とか資源不足 (insufficient resource`) とか
    • そもそも形容詞のため下の2つとは使い方が異なる
  • shortage [名詞]
    • 数値などの具体的で定量化できるものが不足
    • ただし全くないという場合には使えない
  • lack [動詞・名詞]
    • 経験/優しさなどの抽象的なものが不足

  • amount [動詞・名詞]
    • 抽象的な量、多さ
  • quantity [名詞]
    • 具体的な数、数値として表せるもの

買う

  • buy [動名詞]
    • 口語的な用語
    • お金の支出に重きをおいている
  • purchase [動詞・名詞]
    • フォーマルな用語
    • 購入処理のやり取りに重きをおいている
    • 関数名やAPI名としてこっちのが適切

最大値・限界値

  • max [名詞]
    • 最大限、最高限度、最高値、最大値
    • 数学的には何個かの数があってその中でもっとも高いものを max で表す (max関数が有名)
  • limit [名詞]
    • 最高限度、最大限度、制限、限界、上限

RPG の最大レベルとか所持金の限度額とかで max 使うのか limit 使うのかは判断が難しい
考え方としてシステム的に超えたら NG というケースで定義する変数は limit が適切
max は過去最高記録のスコアとかで使うべき、あと min との対比で定義したいとき

対義語

  • approvedecline
    • 同意する, 賛成する, 承認する ⇔ 辞退する, 断る
    • ネットゲームのフレンド申請でつかうのに適切な丁寧な用語
      • Super Mario Run でもこの表現を使っている
    • ただしニュアンス次第
      • League of Legends のチャンピオントレードでは acceptdecline が使われてる
  • acceptrefuse
    • 受諾する ⇔ 拒否する
    • 直接的な表現にしたいとき
  • allowdeny
    • 許可する ⇔ 拒絶する
    • ネットワークのアクセス権や認証系でつかう用語
    • deny は真実ではない/間違っているという否定の文脈でつかわれる
  • successfailure
    • 成功 ⇔ 失敗
    • ちなみに OK ⇔ NG は成立しない
      • NG は和製英語
      • 英語的には通用しないけどシンプルだし簡易な記述としてはアリだと思う
    • HTTP 関連の用語として使いたい場合は SuccessError の方が対として適切
      • 200 系 → Success
      • 400 系 → Client Error
      • 500 系 → Server Error
  • malefemale
    • 男性 ⇔ 女性
    • manwoman は使わない
    • 性別は sex ではなく gender を使う

fishで環境変数といっしょにコマンド実行したいとき

FishShell ではイコール演算子を使って変数に設定という記法がない。
Ruby on RailsRAILS_ENV=test bundle exec rake db:migrate みたいなことするとエラーになる。

$ RAILS_ENV=test bundle exec rake db:migrate:status
Unsupported use of '='. To run 'bundle' with a modified environment, please use 'env RAILS_ENV=test bundle…'

エラー文に答えが書いてあるけどググると Issue も見つかった。
Is there a way to run RAILS_ENV=production rake db:migrate in fish ? · Issue #587 · fish-shell/fish-shell · GitHub

下記のように env コマンドと併用すればよい。

$ env RAILS_ENV=test bundle exec rake db:migrate

fish の FAQ にも書かれてある。 fish: Frequently asked questions

Vimの知見まとめとく

自分は vi 信者でもなければ emacs 信者でもない。どちらかというと IDE 至上主義者。
vim に関してはターミナル作業中にときどき使う。凝った設定は不要で、プラグインは使わないしカラーテーマもデフォルトで用意されてるものだけを使いたい。
無駄な設定なしで最低限使いやすい状態にしておきたい、というスタンス。

Mac では vi = vim

vi コマンドは vim コマンドへのシンボリックリンク。たまに alias を書いてる人がいるけど不要。

$ ls -l /usr/bin/vi
lrwxr-xr-x  1 root  wheel     3B  7 25 12:33 /usr/bin/vi@ -> vim

.vimrc に省略形は書かない

省略形で書くとこうなる。

set ts
set sw
set sts
set tw

正しい名称はこちら。

set tabstop
set shiftwidth
set softtabstop
set textwidth

省略形はエディタ上で臨時的に変更したいときに入力文字数が少なくてすむという機能。設定ファイルに記述するのは混乱するだけだし、重複して書いてるような人も多くて害が多い。

nocomaptible はいらない

あらゆる .vimrc の冒頭に set nocompatible と記述されているが vim では標準で適用されているため不要。
書くといくつかの設定がリセットされるという副作用があるらしく書いてはいけない。
vimrcアンチパターン - rbtnn雑記

ペースト時に盛大にインデントがずれる件

noautoindent する。smartindent を有効にしてれば改行時には適切にインデントしてくれるため、実用面でも不便はない。

現在の設定

更新するにあたってひとつひとつがどんな意味をもつのか精査したので、とりあえずの完成形という感じ。

gist.github.com