はてな技術発表会:higeponさん「できる人の見分け方」について語る

今回は、id:higeponさんが はてな技術発表会の担当でした。Perl Best Practiceの実践をサポートしてくれるPerl::Criticの解説です。

はてなの主力hackerの1人であるid:higeponさん。今回と前回のビデオを観ていて、はてなスタッフのメンバーの中でもid:naoyaさんとid:higeponさんが、技術的な面で圧倒的に上をいってる印象を受けました。身の回りに、ここまでhackerな人がいないので、無料でこんな勉強ができるなんて本当に幸せです。

以下にタイムラインとともに、面白かった所をピックアップしておきます。

02:20


02:50


03:48

  • 約40個のポリシー


04:00


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

  • higepon: はてなに入った時にtabを使っているのを見て結構ショックだった
  • naoya: あれ驚愕の事実だったよね (笑
  • higepon: 最近は改善されつつあります


08:11

  • Perl::Critic::Policy::ControlStructures::ProhibitUnlessBlocks
  • unlessを使うな
  • 否定の否定はやめましょう
  • unlessの中にandとかorが沢山あるとわけわんなくなる


10:14

  • Perl::Critic::Policy::ValuesAndExpressions::ProhibitEmptyQuotes
  • naoya: 冗長だよね


10:45

  • ベストな解法: 全然ベストじゃない
  • $EMPTY, $SPACE
  • naoya: 結構論争になりそう


ホワイトボードにプロジェクターを投影しているので、画面下がプロジェクタの光で反射して見にくいのが、ちょっと気になります。確かにホワイトボードに投影すると、色々書き込めるので便利ですが、、。