Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
make and learn minimum golint
Search
Masayuki Morita
June 05, 2017
Programming
5.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
make and learn minimum golint
Masayuki Morita
June 05, 2017
More Decks by Masayuki Morita
See All by Masayuki Morita
.terraform.lock.hcl 完全に理解した / How to update .terraform.lock.hcl efficiently
minamijoyo
16
22k
tfschemaの仕組み / How tfschema works
minamijoyo
2
780
SRE Lounge#2: SRE at CrowdWorks
minamijoyo
1
2.9k
BigData-JAWS #9: Data Analytics Infra for CrowdWorks
minamijoyo
3
600
20170605_make_and_learn_minimum_golint.pdf
minamijoyo
0
78
private_homebrew_20170525.pdf
minamijoyo
0
100
非公開な社内限のCLIツールを Homebrewで配布したい
minamijoyo
3
1.1k
Other Decks in Programming
See All in Programming
高専キャリア LT 発表内容
crysta1221
3
4.1k
ALB ログから Trace を気合で繋げる技術
fohte
7
770
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
250
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
370
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
200
Dockerfile CMD for Node.js
grazie1999
0
140
T3DD26: From RAGs to Riches
martinhelmich
0
110
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
120
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
460
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
180
バグを直したら useEffect が消えた
colorful12
3
760
MySQLとPostgreSQLって何が違うの?
akagami
0
150
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Bash Introduction
62gerente
615
220k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
370
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Technical Leadership for Architectural Decision Making
baasie
3
540
First, design no harm
axbom
PRO
2
1.3k
Between Models and Reality
mayunak
4
410
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
350
BBQ
matthewcrist
89
10k
A Soul's Torment
seathinner
6
3.5k
Transcript
࡞ֶͬͯͿ ϛχϚϜgolint GoݴޠLTେձ 2017/06/05 @minamijoyo
ࣗݾհ • ా ਅ೭ (Masayuki Morita) • Twitter/GitHub: @minamijoyo •
CrowdWorks Inc. • Πϯϑϥ୲ • ͍͍ͩͨAWS/Terraform/Dockerͱ͔͍ͬͯ͡Δ
Πϯϑϥ୲͕ࠓ͙͢ GoΛֶͿ͖3ͭͷཧ༝ 1. GoϛυϧΣΞCLIπʔϧ͕૿͖͑ͯͨɻ 2. bashεΫϦϓτͭΒ͍ɻGoॻָ͍͍ͯͯ͠ɻ 3. Gopher͘Μ͕͔Θ͍͍ɻ The Go
gopher was designed by Renée French.
ࠓͷςʔϚ: ࠷ۙɺgolintͰ༡ΜͰΈͨ
golintͯ͠·͔͢ʁ
golint • ެࣜͷLinter • GoͬΆ͘ͳ͍ίʔσΟϯάελΠϧΛࢦఠ $ go get -u github.com/golang/lint/golint
$ golint main.go main.go:6:2: var instanceId should be instanceID
Ͳ͏ͬͯఆͯ͠Δͷ͔ʁ
ͨͩͷࣙॻͩͬͨ (※࣮ࡍʹ୯ޠͷ్தͷͷݕग़͍ͯ͠ΔͷͰগ͠ෳࡶʣ https://github.com/golang/lint/blob/master/lint.go
͔͠͠ golintͷίʔυΛͨͩோΊͯͯ ੩తղੳ͕ ॳ৺ऀʹΑ͘Θ͔ΒΜͷͰ͢
ͦ͏ͩ golint࡞Ζ͏
ϓϩάϥϛϯάֶशͷجຊ: ·ͶΔ
࡞ֶͬͯͿ golint
ϛχϚϜͳཁ݅ • ػೳɿಛఆͷม໊Λ୳͢ • ೖྗɿ1ϑΝΠϧͷΈҾͰϑΝΠϧ໊Λ͢ • ग़ྗɿϚονͨ͠ϑΝΠϧ໊:ߦ:ΧϥϜΛදࣔ
80ߦ͙Β͍Ͱॻ͚ͨ
←ඪ४ͷgoύοέʔδΛ͏ ↓ҾͰೖྗϑΝΠϧ໊ΛΒ͏
↓ϑΝΠϧΛύʔεͯ͠ASTΛऔಘ
↑ࠨลͷࣝผࢠΛऔΓग़ͯ͠νΣοΫ ↑ASTΛ࠶ؼతʹ୳ࡧ ←มೖࣜΛ୳͢visitor
↑ม໊ʹϚονͨ͠ΒҐஔΛग़ྗ ←୳͢ม໊ͷఆٛ
มwallyΛ୳ͤ
wally + golint = wallint
$ wallint data/wally.go data/wally.go:6:2: wally was found
͔ͤͬ͘ͳͷͰ ΤσΟλʹΈࠐΜͰΈͨ
มwallyΛ୳ͤ
ҰॠͰӅΕͨมwallyΛݕग़
·ͱΊ • ϓϩάϥϛϯάͷجຊ·ͶΔ͜ͱ • ࡞ֶͬͯͿͱཧղ͕ਂ·Δ • આ໌ʹͬͨίʔυˣ • https://github.com/minamijoyo/wallint