はてな技術発表会:higeponさん「できる人の見分け方」について語る
今回は、id:higeponさんが はてな技術発表会の担当でした。Perl Best Practiceの実践をサポートしてくれるPerl::Criticの解説です。
はてなの主力hackerの1人であるid:higeponさん。今回と前回のビデオを観ていて、はてなスタッフのメンバーの中でもid:naoyaさんとid:higeponさんが、技術的な面で圧倒的に上をいってる印象を受けました。身の回りに、ここまでhackerな人がいないので、無料でこんな勉強ができるなんて本当に幸せです。
以下にタイムラインとともに、面白かった所をピックアップしておきます。
02:20
- 近藤さん作のText::Hatena
- naoya: それかっ!
02:50
03:48
- 約40個のポリシー
04:00
- Text::Hatenaは秀丸で作って、最後にtabをがりっと○△?×
04:17
- Perl::Critic::Policy::BuiltinFunctions::ProhibitStringyEval
- ダブルクオートで囲ったevalはやめましょう
- naoya: 「え、Hatena::Bookmark全部これなんだけど(笑)」
- はてなフレームワークの中でたまに見かけるコードなので注意しましょう
05:40
- Perl::Critic::Policy::CodeLayout::ProhibitParensWithBuiltins
- builtin関数はカッコをつけないで呼びましょう。へぇ〜
- naoya: joint, mapとgrepとか
- naoya: これはでも単純にソースがカッコよくなるだけ
06:29
- Perl::Critic::Policy::CodeLayout::ProhibitHardTabs
- tabは環境依存で開くエディタやOSで全然違う見え方をするので良くない
06:51
- Perl::Critic::Policy::CodeLayout::RequireTidyCode
- ひげぽんが思いを語る
- jkondo: 語ってよ
- オープンソースではHardTabsになっていないことやTidyCodeであることが凄い重要
- 「この人ができる人か」の見分け方:
- インデントがちゃんとしているか?
- 複数のソースコードにまたがって一貫したスタイルが保たれているか?
- かなり、かなり重要
07:59
08:11
- Perl::Critic::Policy::ControlStructures::ProhibitUnlessBlocks
- unlessを使うな
- 否定の否定はやめましょう
- unlessの中にandとかorが沢山あるとわけわんなくなる
10:14
- Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyQuotes
- naoya: 冗長だよね
10:45
- ベストな解法: 全然ベストじゃない
- $EMPTY, $SPACE
- naoya: 結構論争になりそう
ホワイトボードにプロジェクターを投影しているので、画面下がプロジェクタの光で反射して見にくいのが、ちょっと気になります。確かにホワイトボードに投影すると、色々書き込めるので便利ですが、、。