Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
転ばぬ先の杖「vint」
Kuniwak
November 08, 2014
Technology
5
4.9k
転ばぬ先の杖「vint」
Vim の新しい lint 「vint」を紹介します。
English ver:
https://speakerdeck.com/orgachem/vint-new-vim-script-lint
Kuniwak
November 08, 2014
Tweet
Share
More Decks by Kuniwak
See All by Kuniwak
Unity の meta ファイルの過不足の merge を防止しよう / How to prevent missing or dangling meta files
orgachem
1
1.1k
クラウド上のモバイル端末・シミュレータを活用した大規模並列テスト / Large Parallel Testing with Real Devices or Simulators on Cloud
orgachem
6
3.3k
シナリオに依存しないテストの基盤作ってます / We're developing an infrastracture for tests not depending schenarios
orgachem
3
290
iPhone 設定をアプリから操作してらくらく環境構築 / Easy provisioning iPhone using Configuration Profile via iOS App
orgachem
5
780
SE-XXXX Function Builders を読み解く / Reading the spec of Function Builders
orgachem
5
570
SwiftSyntax で便利を実現する基礎 / How to Use SwiftSyntax for Better Productivity (Japanese version)
orgachem
4
15k
How to Use SwiftSyntax for Better Productivity
orgachem
5
380
ある SWET エンジニアの開発プロセス改善最前線 / Story of a SWET Engineer
orgachem
6
2.4k
git に詳しくなるまでの話 / How to be an expert of Git
orgachem
20
1k
Other Decks in Technology
See All in Technology
Introduction to MLOps
asei
5
910
アーキテクチャを明文化して開発に臨んだ話
akkie76
0
340
スクラムのスケールとチームトポロジー / Scaled Scrum and Team Topologies
daiksy
1
450
QiitaConference2022
fuwasegu
0
190
Camp Digital 2022: tailored advice
kyliehavelock
0
150
Custom GitHub Actions by Java
kazamori
0
290
miisan's career talk
mii3king
0
220
ソフトウェアテスト自動化、一歩前へ
yoshikiito
5
880
モブに早く慣れたい人のためのガイド / A Guide to Getting Started Quickly with Mob Programming
cybozuinsideout
PRO
2
1.8k
Modern Android dependency injection
hugovisser
1
130
今どきのLinux事情
tokida
42
35k
ラブグラフ紹介資料 〜プロダクト解体新書〜 / Lovegraph Product Deck
lovegraph
0
280
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
280
17k
WebSockets: Embracing the real-time Web
robhawkes
57
5.2k
KATA
mclloyd
7
8.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
181
15k
The Invisible Side of Design
smashingmag
290
48k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
224
49k
The Straight Up "How To Draw Better" Workshop
denniskardys
225
120k
Designing on Purpose - Digital PM Summit 2013
jponch
106
5.6k
Building a Scalable Design System with Sketch
lauravandoore
448
30k
How To Stay Up To Date on Web Technology
chriscoyier
780
250k
Building Adaptive Systems
keathley
25
1.1k
Typedesign – Prime Four
hannesfritz
34
1.4k
Transcript
About me
Kuniwak
Today, I talk about…
'PSFXBSOFEJT GPSFBSNFE ʲస͵ઌͷ伺ʳ
Lint tool for Vim script
Story
7JNQMVHJOͭͬͯ͘Δͱ Ṗ·Γଟൃʜ
None
None
ผʹ7JNTDSJQUͦΜͳʹ ͖͡Όͳ͍Μ͚ͩͲʜ
ʗ XFMDPNF ʘ ʘXFMDPNFʗ ʘXFMDPNFʗ
࣮ߦ͢Δ·Ͱͳ͘ ·ΓͲ͜ΖΛճආ͍ͨ͠
'PSFXBSOFEJT GPSFBSNFE ʲస͵ઌͷ伺ʳ
Forewarned is forearmed
None
$ vint .vimrc .vimrc:6:10: Variable is not declared (see :help
E738)
Why vint?
Lint possible story ʲlint ͋Δ͋Δʳ
Stop the World Lint ʲβɾϫʔϧυ lintʳ
Nagging Mom Lint ʲ͓͔Μ lintʳ
Meaning less Lint ʲແ lintʳ
Fastness Customizable Usefulness Kuniwak/ vint A A A syngan/ vim-vimlint
C B A ujihisa/ vimlint B B B dahu/ VimLint B C B dbakker/ vim-lint A C B
How to install
$ pip install vim-vint
None
$ vint .vimrc .vimrc:6:10: Variable is not declared (see :help
E738)
Dive into the Vint
Maintainability
MJOUʹͭͷ࣮ྨܕ͕͋Δɿ w ݕࠪखଓ͖ɾϧʔϧҰମܕ w ݕࠪखଓ͖ɾϧʔϧܕ
この22つの類型を ある指標で 比較してみよう…
「11つのルールを 追加するのに 何行読まないと いけないか」
ݕࠪखଓ͖ɾϧʔϧҰମܕ w KTMJOUϑΝΠϧYMJOFT w KTIJOUϑΝΠϧYMJOFT w WJNWJNMJOUϑΝΠϧYMJOFT w QZqBLFTϑΝΠϧYMJOFT
ݕࠪखଓ͖ɾϧʔϧܕ wߦΠϕϯτυϦϒϯ w QFQؔYMJOFT w WJNMJOUϑΝΠϧYMJOFT w"45ΠϕϯτυϦϒϯʢߴͳνΣοΫ͕Մೳʣ w 1FSM$SJUJDϑΝΠϧYMJOFTʢQFSMͳͷͰهड़ྔ૿͑ͨʣ w
SVCPDPQϑΝΠϧYMJOFT w FTMJOUϑΝΠϧYMJOFT w WJOUϑΝΠϧYMJOFT
ͭ·Γ w ݕࠪखଓ͖ɾϧʔϧશҰମܕ ղಡෆೳ w ݕࠪखଓ͖ɾϧʔϧܕͷ͏ͪɺ "45ΠϕϯτυϦϒϯείʔϓղੳͷ ߴͳνΣοΫ͕Մೳ
How to add new rule
Please ask me
Help us!
Forewarned is forearmed https://github.com/Kuniwak/vint