クリアなコードのn作り方¶ ↑
: subtitle
How to make clear code
: author
須藤功平
: institution
株式会社クリアコード
: content-source
札幌Ruby会議2012
: date
2012/09/16
: allotted-time
25m
: theme
.
クリアなコードの作り方n((‘note:(How to make clear code)’))¶ ↑
((‘wait’)) We Code.n Period.n ((‘note:(以上)’))
クリアなコード?n((‘note:(Clear code?)’))¶ ↑
((‘wait’)) 自然なコードn ((‘note:(Natural code)’))
メモ¶ ↑
クリアなコードn((‘note:(Clear code)’))¶ ↑
# blockquote クリアなコードっていうのは、読んだら「おぉー!」ってなるもんじゃなく て、しばらく読んでて「あれ?ずいぶんするっと読めるなぁ」って思ったと きに「あぁ、これはクリアなコードだなぁ」と気付くもんなんじゃないかなぁ。
((‘tag:center’)) ((‘note:twitter.com/ktou/status/199838535073808385’))
クリアなコードn((‘note:(Clear code)’))¶ ↑
# blockquote かっこよくもなければ\n 膝を打つものでもない、\n 自然なコード。
((‘tag:center’)) ((‘note:twitter.com/ktou/status/199838535073808385’))
クリアなコードと私n((‘note:(Clear code and I)’))¶ ↑
とてもn大事にしていることn ((‘note:(It’s very important to me)‘))
どうして?n((‘note:(Why should we code clear code?)’))¶ ↑
たのしく開発を続けたいからn ((‘note:(Because I want to keep developing in a joyful way)’))
私n((‘note:(Me)’))¶ ↑
プログラミングが好きn ((‘note:(I love programming)’))
開発n((‘note:(Development)’))¶ ↑
たのしいn ((‘note:(Joyful)’))
たのしくない開発n((‘note:(Joyless development)’))¶ ↑
汚いコードn ((‘note:(Dirty code…)’))
もっとたのしくない開発n((‘note:(More joyless development)’))¶ ↑
汚れていくnコードn ((‘note:(Code gets dirty…)’))
汚れていくコードn((‘note:(Code gets dirty…)’))¶ ↑
* 直しても直しても\n 他の人が汚していく\n (('note:(I clean codes but others make codes dirty...)')) * 掃除しているそばから\n ゴミを捨てられているよう\n (('note:(Like ... I can't translate it... :<)'))
続けられない!n((‘note:I can’t keep developing!‘))¶ ↑
どうしてクリアなコード?n((‘note:(Why should we code clear code?)’))¶ ↑
みんなでn たのしく開発を続けたいからn ((‘note:(Because I want to keep developing in a joyful way)’))
どうしてこのトークを?n((‘note:(Why do I this talk?)’))¶ ↑
みんなもnクリアなコードn書いて!nたのしいから!n ((‘note:(Please code clear code! It’s joyful!)‘))
We Code.¶ ↑
((C))ode ((C))lear ((C))ode¶ ↑
クリアなコードの作り方n((‘note:(How to make clear code)’))¶ ↑
* みんなでクリアなコードにする\n (('note:(We make clear code)')) * 他の人のことを考えて書く\n (('note:(Write codes for others)')) * 他の人のコードを読む\n (('note:(Read codes by others)'))
メモ¶ ↑
どういうこと?n((‘note:(What does it mean?)’))¶ ↑
文化にしよう!
メモ¶ ↑
# blockquote 人と一緒にコードを書いて、\n 人のコードを見て\n プログラマーは\n 良くなっていくんだ
((‘tag:center’)) ((‘note:札幌Ruby会議02に行ってみて初心に帰った’))n ((‘note:adzuki34.blogspot.jp/2009/12/ruby02.html’))
解説参照¶ ↑
# image # src = readable-code.jpeg # relative_height = 90 # reflect_ratio = 0.15
リーダブルコードの解説n((‘note:(The comment of readable code)’))¶ ↑
(1) 実際にやる\n (('note:(Do it)')) (2) 当たり前にする\n (('note:(Make coding readable code natural)')) (3) コードで伝える\n (('note:(Communicate by readable code)'))
((‘tag:center’)) ((‘note:CC BY-NC-SA 3.0で公開されている’))n ((‘note:You can translate it into English!!!’))n ((‘note:www.clear-code.com/blog/2012/6/11.html’))
リーダブルコードの解説¶ ↑
(1) 実際にやる(('note:(Do it)')) * 書く(('note:(Write)')) (2) 当たり前にする(('note:(Make natural)')) * 書く・読む(('note:(Write and Read)')) (3) コードで伝える(('note:(Communicate by code)')) * 書く・読む・書く(('note:(Write, Read and Write)'))
リーダブルコードの解説¶ ↑
(1) 実際にやる(('note:(Do it)')) * ((*書く*))(('note:(Write)')) (2) 当たり前にする(('note:(Make natural)')) * 書く・読む(('note:(Write and Read)')) (3) コードで伝える(('note:(Communicate by code)')) * 書く・読む・書く(('note:(Write, Read and Write)'))
メモ¶ ↑
自分が動く¶ ↑
# blockquote 成長したいなら、それも早く成長したいなら、すごい人と一緒になれる環境 に行きたいとか言っていちゃ遅いと思うんだ。 一緒にいるだけじゃそんなに変わらないよ。 同じ場所で一緒に同じものを作って、振りきられないように食い下がって付 いていくぐらいじゃないとどこでやったって同じだよ。
((‘tag:center’)) ((‘note:twitter.com/ktou/status/27342986390’))
自分が動くn((‘note:(YOU do it)’))¶ ↑
# blockquote すごい人と一緒になれる環境に行きたいとか言っていちゃ遅いと思うんだ。 一緒にいるだけじゃそんなに変わらないよ。
((‘tag:center’)) ((‘note:twitter.com/ktou/status/27342986390’))
自分が動くn((‘note:(YOU do it)’))¶ ↑
# blockquote 同じ場所で一緒に同じものを作って、振りきられないように食い下がって付 いていくぐらいじゃないとどこでやったって同じだよ。
((‘tag:center’)) ((‘note:twitter.com/ktou/status/27342986390’))
書くn((‘note:(Write)’))¶ ↑
# blockquote 本を読んでるだけじゃいいコードは書けるようにならないよ。 実際にコードを書かないとわからないことがたくさんある。
((‘tag:center’)) ((‘note:twitter.com/ktou/status/222338170811977729’))
リーダブルコードの解説¶ ↑
(1) 実際にやる(('note:(Do it)')) * 書く(('note:(Write)')) (2) 当たり前にする(('note:(Make natural)')) * ((*書く・読む*))(('note:(Write and Read)')) (3) コードで伝える(('note:(Communicate by code)')) * 書く・読む・書く(('note:(Write, Read and Write)'))
書くn((‘note:(Write)’))¶ ↑
# blockquote まわりのコードが汚くたって、自分も汚いコードを書いていい理由にはなら ないんだよ。
((‘tag:center’)) ((‘note:twitter.com/ktou/status/10565574631’))
困ったらn((‘note:(If you get a trouble)’))¶ ↑
# blockquote ふつうにコードを書いているとき、1時間に1回もコミットできなかったらそ れは異常な状態だよね。
((‘tag:center’)) ((‘note:twitter.com/ktou/status/180249583304183808’))
相談するn((‘note:(Talk)’))¶ ↑
# blockquote だれかに相談するとか気分転換するとか方向性を変えてみるとかした方がい いよね。
((‘tag:center’)) ((‘note:twitter.com/ktou/status/180249583304183808’))
読むn((‘note:(Read)’))¶ ↑
# blockquote お前ら、いいコードを書けるようになりたいんだったら、 少なくとも自分が関わっている プロジェクトのコミットくらい全部読めよ!
((‘tag:center’)) ((‘note:twitter.com/ktou/status/195137471057633281’))
メモ¶ ↑
* レビュー依頼されたときだけ読むの?
レビューn((‘note:(Review)’))¶ ↑
* 間違いをいれないため?\n (('note:(Is it for blocking wrong codes?)')) * 批判的な目で読む?\n (('note:(I can't translate it... :<)')) * 言われてやるもの?\n (('note:(I can't translate it... :<)'))
コードを読むことn((‘note:(Reading code)’))¶ ↑
もっとたのしいものじゃないの?n ((‘note:(Is it joyful, isn’t it?)‘))
* この書き方知らなかった!\n いいなぁ!真似しよう!\n (('note:(Wow! I didn't know the feature! I'll use it!)')) * おぉ!\n この機能欲しかったんだよ!\n (('note:(Cool! I realy like the new feature!)'))
リーダブルコードの解説¶ ↑
(1) 実際にやる(('note:(Do it)')) * 書く(('note:(Write)')) (2) 当たり前にする(('note:(Make natural)')) * 書く・読む(('note:(Write and Read)')) (3) コードで伝える(('note:(Communicate by code)')) * ((*書く・読む・書く*))(('note:(Write, Read, Write)'))
書くn((‘note:(Write)’))¶ ↑
# blockquote 私たちができることはコードを書くこと。 コードを通じて伝えられることは多いよ。 そんな当たり前のことを当たり前のように思い出した。
((‘tag:center’)) ((‘note:札幌Ruby会議02に行ってみて初心に帰った’))n ((‘note:adzuki34.blogspot.jp/2009/12/ruby02.html’))
書くn((‘note:(Write)’))¶ ↑
# blockquote コードを書いているだけで人に影響を与えることができる人っているんだよ。
((‘tag:center’)) ((‘note:札幌Ruby会議02に行ってみて初心に帰った’))n ((‘note:adzuki34.blogspot.jp/2009/12/ruby02.html’))
リーダブルコードの解説¶ ↑
(1) 実際にやる(('note:(Do it)')) * 書く(('note:(Write)')) (2) 当たり前にする(('note:(Make natural)')) * 書く・読む(('note:(Write and Read)')) (3) コードで伝える(('note:(Communicate by code)')) * 書く・読む・書く(('note:(Write, Read and Write)'))
((‘tag:center’)) ((‘note:www.clear-code.com/blog/2012/6/11.html’))
解説へのコメント¶ ↑
# blockquote 読んだだけでその気になって終わらせるな。 世界を変えたいなら自分を変えろ。諦めることを拒み続けろ。 小さくとも具体的な行動をしろ。それはこうすることだ。
((‘tag:center’)) # ((‘note:id:habuakihiroのブクマコメント’))n ((‘note:b.hatena.ne.jp/habuakihiro/20120701#bookmark-97498594’))
道n((‘note:(Road)’))¶ ↑
# blockquote よいプログラマへの道を歩き出したのなら、ともにその道を歩くものだと思っ ています。 育ててあげるという考え方はやめることにしました。
((‘tag:center’)) ((‘note:twitter.com/ktou/status/6464335060’))
期待する世界n((‘note:(Expected world)’))¶ ↑
# blockquote そうか、キレイなコードを書くことが当たり前の世界になって欲しいのかも しれない。
((‘tag:center’)) ((‘note:twitter.com/ktou/status/170661011152572416’))
クリアなコードの作り方n((‘note:(How to make clear code)’))¶ ↑
((‘wait’)) We Code.n Period.n ((‘note:(以上)’))