Slide 1

Slide 1 text

Akira Tachibana / 立花 明(@atachibana) Lightning Talk: WordPress Coding Standards At a Glance 基本の WordPress コーディング規約

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

自己紹介 • 立花 明 • IT 関連会社勤務 (非 WordPress) • 好きなこと: 何かを集めること、並べること – 人生のモットー: これ以上集め始めない、並べ始めない • WordPress Document Team Member – Codex / HelpHub / Release Notes etc. • 2016年夏、WordPress コーディング規約を翻訳し ました。LT はその抜粋です。 2016/9/17 WordCamp Tokyo 2016 Lightning Talk - WordPress Coding Standards

Slide 4

Slide 4 text

LISTEN

Slide 5

Slide 5 text

Standards / 規約 • WordPress オープンソースプロジェクトおよびコミュニ ティでのコラボレーションやレビューのベースライン • 適用範囲はコア、テーマ、プラグイン • 統一することで、ミスの削減、コードやドキュメントの 可読性の向上、変更の容易化 • 注意! 規約のためだけのリファクタリングは禁止 2016/9/17 WordCamp Tokyo 2016 Lightning Talk - WordPress Coding Standards

Slide 6

Slide 6 text

OBEY

Slide 7

Slide 7 text

Quote / 引用符 2016/9/17 WordCamp Tokyo 2016 Lightning Talk - WordPress Coding Standards Single ( ‘ ) Double ( “ ) PHP ✔ ✔ JavaScript ✔ HTML ✔ ✔ CSS ✔ PHP: $a = ‘hello’; HTML:

Slide 8

Slide 8 text

THINK

Slide 9

Slide 9 text

Indenting / インデント 2016/9/17 WordCamp Tokyo 2016 Lightning Talk - WordPress Coding Standards if ( condition ) { action(); } Tab ! Not Space

Slide 10

Slide 10 text

TAB

Slide 11

Slide 11 text

Brace / 波かっこ 2016/9/17 WordCamp Tokyo 2016 Lightning Talk - WordPress Coding Standards if ( condition1 ) { action1(); } elseif ( condition2 && condition3 ) { action2(); action3(); } else { defaultaction(); } Always

Slide 12

Slide 12 text

ALWAYS

Slide 13

Slide 13 text

Space / 空白文字 2016/9/17 WordCamp Tokyo 2016 Lightning Talk - WordPress Coding Standards function func( $p1 = ‘x’, $p2 = ‘y' ) { ... foreach ( (array) $foo as $bar ) { ... $x = $foo[ $bar ]; $x = $foo['bar']; $x = $foo[0]; No Space!

Slide 14

Slide 14 text

(Almost) SPACE

Slide 15

Slide 15 text

Naming Convention / 命名規則 • PHP –variable var_x (× camelCase) –class My_Hello –constant WINDOW_SIZE –PHP file my-plugin-name.php –class file class-my-hello.php 2016/9/17 WordCamp Tokyo 2016 Lightning Talk - WordPress Coding Standards

Slide 16

Slide 16 text

NO camelCase

Slide 17

Slide 17 text

Naming Convention / 命名規則 • JavaScript –variable camelCase –class camelCase • CSS –separator #comment-form 2016/9/17 WordCamp Tokyo 2016 Lightning Talk - WordPress Coding Standards

Slide 18

Slide 18 text

camelCase

Slide 19

Slide 19 text

Yoda Conditions / ヨーダ条件式 • If you miss typed “==“ as “=“, then 2016/9/17 WordCamp Tokyo 2016 Lightning Talk - WordPress Coding Standards if ( true == $the_force ) { $victorious = you_will( $be ); } if ( true = $the_force ) => Error if ( $the_force = true ) => Run & Debug!?

Slide 20

Slide 20 text

May The Force Be With You

Slide 21

Slide 21 text

Third-person singular / 三人称単数 2016/9/17 WordCamp Tokyo 2016 Lightning Talk - WordPress Coding Standards /** * Displays simple message for a post. * * This is detail description about * below function... * * @global type $var_name Description. * * @param type $x Description. * @param type $y Optional. Description. * @return type Description. */

Slide 22

Slide 22 text

S

Slide 23

Slide 23 text

Reference / 参照 • Core Contributor Handbook –WordPress Coding Standards –WordPress Inline Documentation Standards • Codex 日本語版 –WordPress コーディング規約 –WordPress インラインドキュメント規約 2016/9/17 WordCamp Tokyo 2016 Lightning Talk - WordPress Coding Standards

Slide 24

Slide 24 text

This LT was GREAT!

Slide 25

Slide 25 text

Thank You / ありがとうございました 2016/9/17 WordCamp Tokyo 2016 Lightning Talk - WordPress Coding Standards