Perl::Lint is over, for the present

Post on 04-Jun-2015

1.246 views 3 download

description

つらい話です (It is hard talk)

Transcript of Perl::Lint is over, for the present

Perl::Lint is over, for the present

@moznion

@moznion

Perl::Lint 0.10 is out now! (Not development release)

Perl::Lint !

https://github.com/moznion/Perl-Lint  https://metacpan.org/pod/Perl::LInt

Source Code Linter for Perl

Perl::Criticより

だいたい速い!

ここまで前説

今日あんま

技術的な話無いです

 Perl::Lintを開発して

得られた知見5連発

1

Done is better than perfect

完璧を目指すより

まずは終わらせろ

194 days * 4 hours

776 hours

これだけかけても

完璧ではない

テストケース通してても

無限に謎ケース出てくる

謎ケースを

あぶり出すには?

利用者がいないと 始まらない

実装に10時間かかる

エッジケースに

手間取られている

場合ではない

素早くリリースして

素早くフィードバックを

得る必要がある

2

早すぎる最適化

をしない

関数呼び出しはコストが……

関数呼び出しはコストが……

とにかく変数使いまわした方が速い!

関数呼び出しはコストが……

とにかく変数使いまわした方が速い!

いちいちハッシュに アクセスしない

関数呼び出しはコストが……

とにかく変数使いまわした方が速い!

いちいちハッシュに アクセスしない

などなど

関数呼び出しはコストが……

とにかく変数使いまわした方が速い!

いちいちハッシュに アクセスしない

などなど

無駄だ!!!! (無駄ではない)

早い段階でやっても

よくわからん

とにかくコードの

見通し悪くなる

開発の効率落ちる

めっちゃ効くところを

やるなら意味が強い

(今回だとソースコードの

トークナイズ部分とか)

が、細かいところ

やっても……

大体出来上がってから

測定しつつ細かい

最適化をした方が良い

SEE ALSO

推測するな

計測せよ

早すぎる最適化をしない代わりに

早い段階で考えるべきことは

しっかり考えるべき

(e.g. データ構造,アルゴリズム)

ここを後で乗せ替えるのは

極めて大変過ぎるので

考えすぎても足りないことはない

3

誰でも開発に参加

できるようにしておく

- Document - Tutorial - Support Script - Pointer to study

環境整えておかないと

誰も手伝ってはくれない(経験済み)

そもそも整えてても来る

可能性は低いのに

整えてない所に人来ない

4

異常な努力をしない

ただただつらい

乗れるものには

乗っておく

5

ダンピングをしない

Perl::Lint = $800

さてここで簡単な

算数をしましょう

$800 / ( 194 days * 4 hours )

$1 / hour

$1 / hour

やる前にちゃんと

算数をしましょう

もらうべき所で

金をもらわないと死ぬ

あと報酬があらかじめ

決まってるやつは

働けば働くだけ

価値が下がる

とにかくさっさと

終わらせる事が重要

頑張ってカネを

ゲットしていきましょう

(まだ$800ゲットしてない)

Perl::Lintまだまだ

やるべきことは多いので

協力してくれる人

募集中です

フィードバックも

目下求めています!!