SlideShare a Scribd company logo
1 of 39
Download to read offline
クリアなコードの
             作り方
               How to make clear code

株式会社クリアコード               須藤功平
札幌Ruby会議2012               2012/09/16
クリアなコードの作り方
                  (How to make clear code)




                    We Code.
                     Period.           (以上)




クリアなコードの作り方 - How to make clear code          Powered by Rabbit 2.0.6
クリアなコード?
                               (Clear code?)




              自然なコード              (Natural code)




クリアなコードの作り方 - How to make clear code               Powered by Rabbit 2.0.6
クリアなコード
                                (Clear code)




             かっこよくもなければ
             膝を打つものでもない、
             自然なコード。
      https://twitter.com/ktou/status/199838535073808385




クリアなコードの作り方 - How to make clear code            Powered by Rabbit 2.0.6
クリアなコードと私
                          (Clear code and I)



           とても
         大事にしている
            こと            (It's very important to me)



クリアなコードの作り方 - How to make clear code                    Powered by Rabbit 2.0.6
どうして?
         (Why should we code clear code?)




         たのしく開発を
          続けたいから
        (Because I want to keep developing in a joyful way)




クリアなコードの作り方 - How to make clear code               Powered by Rabbit 2.0.6
私
                                       (Me)




         プログラミング
           が好き                (I love programming)




クリアなコードの作り方 - How to make clear code                 Powered by Rabbit 2.0.6
開発
                             (Development)




                        たのしい           (Joyful)




クリアなコードの作り方 - How to make clear code              Powered by Rabbit 2.0.6
たのしくない開発
                      (Joyless development)




                   汚いコード           (Dirty code...)




クリアなコードの作り方 - How to make clear code                 Powered by Rabbit 2.0.6
もっとたのしくない開発
                (More joyless development)




                   汚れていく
                    コード        (Code gets dirty...)




クリアなコードの作り方 - How to make clear code                  Powered by Rabbit 2.0.6
汚れていくコード
                         (Code gets dirty...)


    ✓ 直しても直しても
      他の人が汚していく
          (I clean codes but others make codes dirty...)

    ✓ 掃除しているそばから
      ゴミを捨てられているよう
          (Like ... I can't translate it... :<)




クリアなコードの作り方 - How to make clear code                 Powered by Rabbit 2.0.6
続けられ
 ない!
I can't keep developing!
どうしてクリアなコード?
         (Why should we code clear code?)



           みんなで
         たのしく開発を
          続けたいから
        (Because I want to keep developing in a joyful way)



クリアなコードの作り方 - How to make clear code               Powered by Rabbit 2.0.6
どうしてこのトークを?
                        (Why do I this talk?)


           みんなも
         クリアなコード
           書いて!
         たのしいから!   (Please code clear code! It's joyful!)

クリアなコードの作り方 - How to make clear code                        Powered by Rabbit 2.0.6
We
Code.
Code
Clear
Code
クリアなコードの作り方
                  (How to make clear code)


    ✓ みんなでクリアなコードにする
          (We make clear code)

         ✓ 他の人のことを考えて書く
              (Write codes for others)

         ✓ 他の人のコードを読む
              (Read codes by others)




クリアなコードの作り方 - How to make clear code     Powered by Rabbit 2.0.6
解説参照
解説参照
リーダブルコードの解説
           (The comment of readable code)

      1. 実際にやる
              (Do it)

      2. 当たり前にする
              (Make coding readable code natural)

      3. コードで伝える
              (Communicate by readable code)

                    CC BY-NC-SA 3.0で公開されている
                   You can translate it into English!!!
           http://www.clear-code.com/blog/2012/6/11.html

クリアなコードの作り方 - How to make clear code                Powered by Rabbit 2.0.6
リーダブルコードの解説
      1. 実際にやる(Do it)
              ✓ 書く(Write)

      2. 当たり前にする(Make natural)
              ✓ 書く・読む(Write and Read)

      3. コードで伝える(Communicate by code)
              ✓ 書く・読む・書く(Write, Read and
                  Write)


クリアなコードの作り方 - How to make clear code    Powered by Rabbit 2.0.6
リーダブルコードの解説
      1. 実際にやる(Do it)
              ✓ 書く(Write)

      2. 当たり前にする(Make natural)
              ✓ 書く・読む(Write and Read)

      3. コードで伝える(Communicate by code)
              ✓ 書く・読む・書く(Write, Read and
                  Write)


クリアなコードの作り方 - How to make clear code    Powered by Rabbit 2.0.6
自分が動く
                                 (YOU do it)


         すごい人と一緒になれる環境
        に行きたいとか言っていちゃ遅
        いと思うんだ。
        一緒にいるだけじゃそんなに変
        わらないよ。
             https://twitter.com/ktou/status/27342986390


クリアなコードの作り方 - How to make clear code                Powered by Rabbit 2.0.6
自分が動く
                                 (YOU do it)


         同じ場所で一緒に同じものを
        作って、振りきられないように
        食い下がって付いていくぐらい
        じゃないとどこでやったって同
        じだよ。
             https://twitter.com/ktou/status/27342986390


クリアなコードの作り方 - How to make clear code                Powered by Rabbit 2.0.6
書く
                                       (Write)


         本を読んでるだけじゃいいコ
        ー ドは書け る よ う に な ら な い
        よ。
        実際にコードを書かないとわか
        らないことがたくさんある。
      https://twitter.com/ktou/status/222338170811977729


クリアなコードの作り方 - How to make clear code             Powered by Rabbit 2.0.6
リーダブルコードの解説
      1. 実際にやる(Do it)
              ✓ 書く(Write)

      2. 当たり前にする(Make natural)
              ✓ 書く・読む(Write and Read)

      3. コードで伝える(Communicate by code)
              ✓ 書く・読む・書く(Write, Read and
                  Write)


クリアなコードの作り方 - How to make clear code    Powered by Rabbit 2.0.6
書く
                                       (Write)




         ま わ り のコ ー ドが汚く た っ
        て、自分も汚いコードを書いて
        いい理由にはならないんだよ。
             https://twitter.com/ktou/status/10565574631




クリアなコードの作り方 - How to make clear code                Powered by Rabbit 2.0.6
困ったら
                       (If you get a trouble)



         ふつうにコードを書いている
        とき、1時間に1回もコミットで
        きなかったらそれは異常な状態
        だよね。
      https://twitter.com/ktou/status/180249583304183808



クリアなコードの作り方 - How to make clear code            Powered by Rabbit 2.0.6
相談する
                                       (Talk)




         だれかに相談するとか気分転
        換するとか方向性を変えてみる
        とかした方がいいよね。
      https://twitter.com/ktou/status/180249583304183808




クリアなコードの作り方 - How to make clear code            Powered by Rabbit 2.0.6
読む
                                       (Read)


         お前ら、いいコードを書ける
        ようになりたいんだったら、少
        なくとも自分が関わっているプ
        ロジェクトのコミットくらい全
        部読めよ!
      https://twitter.com/ktou/status/195137471057633281


クリアなコードの作り方 - How to make clear code            Powered by Rabbit 2.0.6
レビュー
                                   (Review)


    ✓ 間違いをいれないため?
          (Is it for blocking wrong codes?)

    ✓ 批判的な目で読む?
          (I can't translate it... :<)

    ✓ 言われてやるもの?
          (I can't translate it... :<)



クリアなコードの作り方 - How to make clear code          Powered by Rabbit 2.0.6
コードを読むこと
                             (Reading code)

    もっとたのしいものじゃないの?
    (Is it jolyful, isn't it?)

    ✓ この書き方知らなかった!
      いいなぁ!真似しよう!
          (Wow! I didn't know the feature! I'll use it!)

    ✓ おぉ!
      この機能欲しかったんだよ!
          (Cool! I realy like the new feature!)


クリアなコードの作り方 - How to make clear code                       Powered by Rabbit 2.0.6
リーダブルコードの解説
      1. 実際にやる(Do it)
              ✓ 書く(Write)

      2. 当たり前にする(Make natural)
              ✓ 書く・読む(Write and Read)

      3. コードで伝える(Communicate by code)
              ✓ 書く・読む・書く(Write, Read, Write)

クリアなコードの作り方 - How to make clear code    Powered by Rabbit 2.0.6
書く
                                       (Write)

         私たちができることはコード
        を書くこと。
        コードを通じて伝えられること
        は多いよ。
        そんな当たり前のことを当たり
        前のように思い出した。
               札幌Ruby会議02に行ってみて初心に帰った
          http://adzuki34.blogspot.jp/2009/12/ruby02.html
クリアなコードの作り方 - How to make clear code               Powered by Rabbit 2.0.6
書く
                                       (Write)



         コードを書いているだけで人
        に影響を与えることができる人
        っているんだよ。
               札幌Ruby会議02に行ってみて初心に帰った
          http://adzuki34.blogspot.jp/2009/12/ruby02.html



クリアなコードの作り方 - How to make clear code               Powered by Rabbit 2.0.6
リーダブルコードの解説
      1. 実際にやる(Do it)
              ✓ 書く(Write)

      2. 当たり前にする(Make natural)
              ✓ 書く・読む(Write and Read)

      3. コードで伝える(Communicate by code)
              ✓ 書く・読む・書く(Write, Read and
                  Write)

           http://www.clear-code.com/blog/2012/6/11.html
クリアなコードの作り方 - How to make clear code              Powered by Rabbit 2.0.6
解説へのコメント
         読んだだけでその気になって
        終わらせるな。
        世界を変えたいなら自分を変え
        ろ。諦めることを拒み続けろ。
        小さ く と も具 体 的な行 動を し
        ろ。それはこうすることだ。
                        http://b.hatena.ne.jp/
             habuakihiro/20120701#bookmark-97498594

クリアなコードの作り方 - How to make clear code           Powered by Rabbit 2.0.6
道
                                       (Road)


         よいプログラマへの道を歩き
        出したのなら、ともにその道を
        歩くものだと思っています。
        育ててあげるという考え方はや
        めることにしました。
              https://twitter.com/ktou/status/6464335060


クリアなコードの作り方 - How to make clear code                Powered by Rabbit 2.0.6
期待する世界
                           (Expected world)




         そうか、キレイなコードを書
        くことが当たり前の世界になっ
        て欲しいのかもしれない。
      https://twitter.com/ktou/status/170661011152572416




クリアなコードの作り方 - How to make clear code            Powered by Rabbit 2.0.6
クリアなコードの作り方
 (How to make clear code)



 We Code.
  Period. (以上)

More Related Content

Similar to クリアなコードの作り方 - How to make clear code

SEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめSEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめKouhei Sutou
 
SEゼミ2014 - コードチェンジ
SEゼミ2014 - コードチェンジSEゼミ2014 - コードチェンジ
SEゼミ2014 - コードチェンジKouhei Sutou
 
実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえりKouhei Sutou
 
SEゼミ2015 - リーダブルコード勉強会のグループふりかえり
SEゼミ2015 - リーダブルコード勉強会のグループふりかえりSEゼミ2015 - リーダブルコード勉強会のグループふりかえり
SEゼミ2015 - リーダブルコード勉強会のグループふりかえりKouhei Sutou
 
実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえりKouhei Sutou
 
リーダブルコード勉強会 in 筑波大のグループふりかえり
リーダブルコード勉強会 in 筑波大のグループふりかえりリーダブルコード勉強会 in 筑波大のグループふりかえり
リーダブルコード勉強会 in 筑波大のグループふりかえりKouhei Sutou
 
PHPカンファレンス関西 2011
PHPカンファレンス関西 2011PHPカンファレンス関西 2011
PHPカンファレンス関西 2011Takako Miyagawa
 
桐島、Rubyやめるってよ
桐島、Rubyやめるってよ桐島、Rubyやめるってよ
桐島、RubyやめるってよNarihiro Nakamura
 
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -Kishi Shundo
 
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜Akira Nagata
 
なるべくコードを書かないAndroid開発
なるべくコードを書かないAndroid開発なるべくコードを書かないAndroid開発
なるべくコードを書かないAndroid開発Hiroshi Kikuchi
 
Hacker's meetup boost_vol1発表資料_20150902
Hacker's meetup boost_vol1発表資料_20150902Hacker's meetup boost_vol1発表資料_20150902
Hacker's meetup boost_vol1発表資料_20150902真一 藤川
 
リーダブルコードワークショップ(パイオニア向け)の概要
リーダブルコードワークショップ(パイオニア向け)の概要リーダブルコードワークショップ(パイオニア向け)の概要
リーダブルコードワークショップ(パイオニア向け)の概要Kouhei Sutou
 
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所Y Watanabe
 
20120706-readablecode
20120706-readablecode20120706-readablecode
20120706-readablecodeMasanori Kado
 
Autodesk Inventorでレゴブロックをつくろう~
Autodesk Inventorでレゴブロックをつくろう~Autodesk Inventorでレゴブロックをつくろう~
Autodesk Inventorでレゴブロックをつくろう~Teruki Obara
 
テスト駆動開発入門
テスト駆動開発入門テスト駆動開発入門
テスト駆動開発入門Shuji Watanabe
 
UDEC発表原稿-Udon概論-
UDEC発表原稿-Udon概論-UDEC発表原稿-Udon概論-
UDEC発表原稿-Udon概論-ContrastBar
 

Similar to クリアなコードの作り方 - How to make clear code (20)

SEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめSEゼミ2015 - リーダブルコード勉強会のまとめ
SEゼミ2015 - リーダブルコード勉強会のまとめ
 
SEゼミ2014 - コードチェンジ
SEゼミ2014 - コードチェンジSEゼミ2014 - コードチェンジ
SEゼミ2014 - コードチェンジ
 
実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり
 
SEゼミ2015 - リーダブルコード勉強会のグループふりかえり
SEゼミ2015 - リーダブルコード勉強会のグループふりかえりSEゼミ2015 - リーダブルコード勉強会のグループふりかえり
SEゼミ2015 - リーダブルコード勉強会のグループふりかえり
 
実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり実践リーダブルコードのふりかえり
実践リーダブルコードのふりかえり
 
リーダブルコード勉強会 in 筑波大のグループふりかえり
リーダブルコード勉強会 in 筑波大のグループふりかえりリーダブルコード勉強会 in 筑波大のグループふりかえり
リーダブルコード勉強会 in 筑波大のグループふりかえり
 
PHPカンファレンス関西 2011
PHPカンファレンス関西 2011PHPカンファレンス関西 2011
PHPカンファレンス関西 2011
 
桐島、Rubyやめるってよ
桐島、Rubyやめるってよ桐島、Rubyやめるってよ
桐島、Rubyやめるってよ
 
Azure de debian
Azure de debianAzure de debian
Azure de debian
 
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
組み込み向けC++のやり方を探る - mbedで楽しい組み込みプログラミング -
 
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
子ども向けプログラミング道場を運営してみたお話し〜CoderDojo長岡京と、時々、EC2〜
 
なるべくコードを書かないAndroid開発
なるべくコードを書かないAndroid開発なるべくコードを書かないAndroid開発
なるべくコードを書かないAndroid開発
 
Hacker's meetup boost_vol1発表資料_20150902
Hacker's meetup boost_vol1発表資料_20150902Hacker's meetup boost_vol1発表資料_20150902
Hacker's meetup boost_vol1発表資料_20150902
 
リーダブルコードワークショップ(パイオニア向け)の概要
リーダブルコードワークショップ(パイオニア向け)の概要リーダブルコードワークショップ(パイオニア向け)の概要
リーダブルコードワークショップ(パイオニア向け)の概要
 
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
 
20120706-readablecode
20120706-readablecode20120706-readablecode
20120706-readablecode
 
Autodesk Inventorでレゴブロックをつくろう~
Autodesk Inventorでレゴブロックをつくろう~Autodesk Inventorでレゴブロックをつくろう~
Autodesk Inventorでレゴブロックをつくろう~
 
Mobile Openid
Mobile OpenidMobile Openid
Mobile Openid
 
テスト駆動開発入門
テスト駆動開発入門テスト駆動開発入門
テスト駆動開発入門
 
UDEC発表原稿-Udon概論-
UDEC発表原稿-Udon概論-UDEC発表原稿-Udon概論-
UDEC発表原稿-Udon概論-
 

More from Kouhei Sutou

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowRubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowKouhei Sutou
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Kouhei Sutou
 
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowRubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowKouhei Sutou
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアKouhei Sutou
 
Apache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかApache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかKouhei Sutou
 
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataApache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataKouhei Sutou
 
Redmine検索の未来像
Redmine検索の未来像Redmine検索の未来像
Redmine検索の未来像Kouhei Sutou
 
Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataKouhei Sutou
 
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Kouhei Sutou
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームKouhei Sutou
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムKouhei Sutou
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroongaKouhei Sutou
 
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Kouhei Sutou
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムKouhei Sutou
 
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!Kouhei Sutou
 

More from Kouhei Sutou (20)

RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache ArrowRubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
RubyKaigi 2022 - Fast data processing with Ruby and Apache Arrow
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
 
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache ArrowRubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
RubyKaigi Takeout 2021 - Red Arrow - Ruby and Apache Arrow
 
Rubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェアRubyと仕事と自由なソフトウェア
Rubyと仕事と自由なソフトウェア
 
Apache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのかApache Arrowフォーマットはなぜ速いのか
Apache Arrowフォーマットはなぜ速いのか
 
Apache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory dataApache Arrow 1.0 - A cross-language development platform for in-memory data
Apache Arrow 1.0 - A cross-language development platform for in-memory data
 
Apache Arrow 2019
Apache Arrow 2019Apache Arrow 2019
Apache Arrow 2019
 
Redmine検索の未来像
Redmine検索の未来像Redmine検索の未来像
Redmine検索の未来像
 
Apache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory dataApache Arrow - A cross-language development platform for in-memory data
Apache Arrow - A cross-language development platform for in-memory data
 
Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6Better CSV processing with Ruby 2.6
Better CSV processing with Ruby 2.6
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 
Apache Arrow
Apache ArrowApache Arrow
Apache Arrow
 
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システムMySQL・PostgreSQLだけで作る高速あいまい全文検索システム
MySQL・PostgreSQLだけで作る高速あいまい全文検索システム
 
MySQL 8.0でMroonga
MySQL 8.0でMroongaMySQL 8.0でMroonga
MySQL 8.0でMroonga
 
My way with Ruby
My way with RubyMy way with Ruby
My way with Ruby
 
Red Data Tools
Red Data ToolsRed Data Tools
Red Data Tools
 
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
Mroongaの高速全文検索機能でWordPress内のコンテンツを有効活用!
 
MariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システムMariaDBとMroongaで作る全言語対応超高速全文検索システム
MariaDBとMroongaで作る全言語対応超高速全文検索システム
 
PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!PGroonga 2 – Make PostgreSQL rich full text search system backend!
PGroonga 2 – Make PostgreSQL rich full text search system backend!
 

Recently uploaded

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Recently uploaded (9)

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

クリアなコードの作り方 - How to make clear code

  • 1. クリアなコードの 作り方 How to make clear code 株式会社クリアコード 須藤功平 札幌Ruby会議2012 2012/09/16
  • 2. クリアなコードの作り方 (How to make clear code) We Code. Period. (以上) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 3. クリアなコード? (Clear code?) 自然なコード (Natural code) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 4. クリアなコード (Clear code) かっこよくもなければ 膝を打つものでもない、 自然なコード。 https://twitter.com/ktou/status/199838535073808385 クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 5. クリアなコードと私 (Clear code and I) とても 大事にしている こと (It's very important to me) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 6. どうして? (Why should we code clear code?) たのしく開発を 続けたいから (Because I want to keep developing in a joyful way) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 7. (Me) プログラミング が好き (I love programming) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 8. 開発 (Development) たのしい (Joyful) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 9. たのしくない開発 (Joyless development) 汚いコード (Dirty code...) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 10. もっとたのしくない開発 (More joyless development) 汚れていく コード (Code gets dirty...) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 11. 汚れていくコード (Code gets dirty...) ✓ 直しても直しても 他の人が汚していく (I clean codes but others make codes dirty...) ✓ 掃除しているそばから ゴミを捨てられているよう (Like ... I can't translate it... :<) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 12. 続けられ ない! I can't keep developing!
  • 13. どうしてクリアなコード? (Why should we code clear code?) みんなで たのしく開発を 続けたいから (Because I want to keep developing in a joyful way) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 14. どうしてこのトークを? (Why do I this talk?) みんなも クリアなコード 書いて! たのしいから! (Please code clear code! It's joyful!) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 17. クリアなコードの作り方 (How to make clear code) ✓ みんなでクリアなコードにする (We make clear code) ✓ 他の人のことを考えて書く (Write codes for others) ✓ 他の人のコードを読む (Read codes by others) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 19. リーダブルコードの解説 (The comment of readable code) 1. 実際にやる (Do it) 2. 当たり前にする (Make coding readable code natural) 3. コードで伝える (Communicate by readable code) CC BY-NC-SA 3.0で公開されている You can translate it into English!!! http://www.clear-code.com/blog/2012/6/11.html クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 20. リーダブルコードの解説 1. 実際にやる(Do it) ✓ 書く(Write) 2. 当たり前にする(Make natural) ✓ 書く・読む(Write and Read) 3. コードで伝える(Communicate by code) ✓ 書く・読む・書く(Write, Read and Write) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 21. リーダブルコードの解説 1. 実際にやる(Do it) ✓ 書く(Write) 2. 当たり前にする(Make natural) ✓ 書く・読む(Write and Read) 3. コードで伝える(Communicate by code) ✓ 書く・読む・書く(Write, Read and Write) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 22. 自分が動く (YOU do it) すごい人と一緒になれる環境 に行きたいとか言っていちゃ遅 いと思うんだ。 一緒にいるだけじゃそんなに変 わらないよ。 https://twitter.com/ktou/status/27342986390 クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 23. 自分が動く (YOU do it) 同じ場所で一緒に同じものを 作って、振りきられないように 食い下がって付いていくぐらい じゃないとどこでやったって同 じだよ。 https://twitter.com/ktou/status/27342986390 クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 24. 書く (Write) 本を読んでるだけじゃいいコ ー ドは書け る よ う に な ら な い よ。 実際にコードを書かないとわか らないことがたくさんある。 https://twitter.com/ktou/status/222338170811977729 クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 25. リーダブルコードの解説 1. 実際にやる(Do it) ✓ 書く(Write) 2. 当たり前にする(Make natural) ✓ 書く・読む(Write and Read) 3. コードで伝える(Communicate by code) ✓ 書く・読む・書く(Write, Read and Write) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 26. 書く (Write) ま わ り のコ ー ドが汚く た っ て、自分も汚いコードを書いて いい理由にはならないんだよ。 https://twitter.com/ktou/status/10565574631 クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 27. 困ったら (If you get a trouble) ふつうにコードを書いている とき、1時間に1回もコミットで きなかったらそれは異常な状態 だよね。 https://twitter.com/ktou/status/180249583304183808 クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 28. 相談する (Talk) だれかに相談するとか気分転 換するとか方向性を変えてみる とかした方がいいよね。 https://twitter.com/ktou/status/180249583304183808 クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 29. 読む (Read) お前ら、いいコードを書ける ようになりたいんだったら、少 なくとも自分が関わっているプ ロジェクトのコミットくらい全 部読めよ! https://twitter.com/ktou/status/195137471057633281 クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 30. レビュー (Review) ✓ 間違いをいれないため? (Is it for blocking wrong codes?) ✓ 批判的な目で読む? (I can't translate it... :<) ✓ 言われてやるもの? (I can't translate it... :<) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 31. コードを読むこと (Reading code) もっとたのしいものじゃないの? (Is it jolyful, isn't it?) ✓ この書き方知らなかった! いいなぁ!真似しよう! (Wow! I didn't know the feature! I'll use it!) ✓ おぉ! この機能欲しかったんだよ! (Cool! I realy like the new feature!) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 32. リーダブルコードの解説 1. 実際にやる(Do it) ✓ 書く(Write) 2. 当たり前にする(Make natural) ✓ 書く・読む(Write and Read) 3. コードで伝える(Communicate by code) ✓ 書く・読む・書く(Write, Read, Write) クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 33. 書く (Write) 私たちができることはコード を書くこと。 コードを通じて伝えられること は多いよ。 そんな当たり前のことを当たり 前のように思い出した。 札幌Ruby会議02に行ってみて初心に帰った http://adzuki34.blogspot.jp/2009/12/ruby02.html クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 34. 書く (Write) コードを書いているだけで人 に影響を与えることができる人 っているんだよ。 札幌Ruby会議02に行ってみて初心に帰った http://adzuki34.blogspot.jp/2009/12/ruby02.html クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 35. リーダブルコードの解説 1. 実際にやる(Do it) ✓ 書く(Write) 2. 当たり前にする(Make natural) ✓ 書く・読む(Write and Read) 3. コードで伝える(Communicate by code) ✓ 書く・読む・書く(Write, Read and Write) http://www.clear-code.com/blog/2012/6/11.html クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 36. 解説へのコメント 読んだだけでその気になって 終わらせるな。 世界を変えたいなら自分を変え ろ。諦めることを拒み続けろ。 小さ く と も具 体 的な行 動を し ろ。それはこうすることだ。 http://b.hatena.ne.jp/ habuakihiro/20120701#bookmark-97498594 クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 37. (Road) よいプログラマへの道を歩き 出したのなら、ともにその道を 歩くものだと思っています。 育ててあげるという考え方はや めることにしました。 https://twitter.com/ktou/status/6464335060 クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 38. 期待する世界 (Expected world) そうか、キレイなコードを書 くことが当たり前の世界になっ て欲しいのかもしれない。 https://twitter.com/ktou/status/170661011152572416 クリアなコードの作り方 - How to make clear code Powered by Rabbit 2.0.6
  • 39. クリアなコードの作り方 (How to make clear code) We Code. Period. (以上)