Skip to content

JavaScript用オブジェクト指向矯正ギプス的な何か

Notifications You must be signed in to change notification settings

AtsushiM/oop-js.vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JavaScriptでのコーディング時、厳しい制約を課すことで
オブジェクト脳への矯正を行うプラグインです。
jslint, gjslintとの併用をおすすめします。

!制約の内容は変更可能ですが、
!デフォルトではかなりマゾヒスティックな内容になっています。
!ご注意ください。

" コマンド
:OOPJSCheck
現在ファイルに対して制約のチェックを行います。
デフォルトでのチェック内容は

・1ファイル50行以内(小クラス主義)
・1ファイル内でvar宣言は5個(クラスが持ち得る状態のパターンを減らす)
・1行で使える.(ドット)は3個(なるべく直接のプロパティにのみアクセスすることで分かりやすさを向上)
・1ファイル中のifは5個(ifを少なくすることでのネストの排除 & 小クラス化の促進)
・1ファイル中のelseは1個(elseを少なくすることで早期returnの推奨)
・1ファイル中のswitchは1個(switchを少なくすることで小クラス化の促進)
・1ファイル中のforは3個(forを少なくすることでネストの排除 & 小クラス化の促進)
・1ファイル中のwhileは3個(whileを少なくすることでネストの排除 & 小クラス化の促進)
・1ファイル中のdoは1個(doの使用を制限)
・1ファイル内の無名関数は5個(1クラスあたりのメソッドの個数を制限し小クラス化を促進)
・1ファイル内の名前付き関数は5個(メンバ関数の乱立を抑止)

となっています。


" 設定
" 自動チェック(拡張子がjsのファイルを保存した場合チェックを自動実行)
let g:oopjs_autocheck = 0 "自動実行無し
let g:oopjs_autocheck = 1 "自動実行有り

" 無視するファイル名を指定(正規表現OK)
let g:oopjs_ignorecheckfile = ['test\.js', 'min\.js', 'combine\.js', 'lib\/.\+\.js']

" 1ファイルの限界行数
let g:oopjs_linelimitnum = 50

" 1ファイル内のvar宣言の限界数
let g:oopjs_varlimitnum = 5

" 1行で使える.(ドット)の数
let g:oopjs_dotlimitnum = 3

" 1ファイル中で使えるifの個数
let g:oopjs_iflimitnum = 5

" 1ファイル中で使えるelseの個数
let g:oopjs_elselimitnum = 1

" 1ファイル中で使えるswitchの個数
let g:oopjs_switchlimitnum = 1

" 1ファイル中のforの個数
let g:oopjs_forlimitnum = 3

" 1ファイル中のwhileの個数
let g:oopjs_whilelimitnum = 3

" 1ファイル中のdoの個数
let g:oopjs_dolimitnum = 1

" 1ファイル内の無名関数の個数
let g:oopjs_anonymousfunctionlimitnum = 5

" 1ファイル中の名前付き関数の個数
let g:oopjs_namedfunctionlimitnum = 5

About

JavaScript用オブジェクト指向矯正ギプス的な何か

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published