添削

なんやようわからんけど、添削ブームなんかな。


あ、ちなみに僕、jnaoya やけど、今日は naoya というよりは、どちらかというと j 寄りのほうな。
j 言うたらわかるやろ。
自転車好きなほうな。


http://tensaku.yappo.jp/

自信のないPerlコードを投稿するとid:jtakesakoid:jankogaiid:jnaoyaが適切な添削をしてくれます。

僕そんなん言うてないよー。
何勝手に僕がそこに加わってるのかなー。
これ、なんやったっけ、大沢さん?
大沢さんが勝手にやってんの?
困るわぁ。
こんなこと勝手に言われると。
いや、ホンマよ。


http://tensaku.yappo.jp/?MLD


いや、みらのさん、あなた、僕に添削してもらおうとか、そういう人と違いますやん。
MT 日本語版流行らせたの、あなたでしょう。
Sledge の名付け親、あなたでしょう。


ほな、よくわからんけど、ちょっと MLD::Info だけ見てみるわ。

require MLD::Info::MFi;
require MLD::Info::SMAF;
require MLD::Info::AMC;
require MLD::Info::3GPP;
require MLD::Info::3GP2;
require MLD::Info::MP4;
require MLD::Info::DCF;


これって、動的に load させれば良いんと違うんかなぁ。
要らんやつ読んでると、プロセスサイズがデカなるやろ。

    if ($file =~ /\.mld/i) { $sub = 'MFi'; }
    if ($file =~ /\.mmf/i) { $sub = 'SMAF'; }
    if ($file =~ /\.amc/i) { $sub = 'AMC' };
    if ($file =~ /\.3gp/i) { $sub = '3GPP' };
    if ($file =~ /\.3g2/i) { $sub = '3GP2' };
    if ($file =~ /\.mp4/i) { $sub = 'MP4' };
    if ($file =~ /\.dcf/i) { $sub = 'DCF' };


えー、これって、なんや

our %ExtList = (
    mld   => 'MFi',
    mmf   => 'SMAF',
    amc   => 'AMC',
    '3gp' => '3GPP',
    '3g2' => '3GP2',
    mp4   => 'MP4',
    dcf   => 'DCF',
);  


こんなんグローバルに定義しておいたら

my $sub = $file =~ /\.(\w+)$/ ? $ExtList{lc($1)} : undef;


こんなんでイケそうな気ぃすんねんけどなぁ。
なんや、スッキリやろ?このほうが。
いや、好きずきやから、こんなんせなあかんとは思わんで。
僕はそう思うってぐらい。

return undef if !$sub;


なんやったっけ。
undef 返したらアカンとか、Damian 先生言うてはった気がする。
何でかは知らんけど。
そんで、こんなんすんねん。

return () unless $sub;
my $subclass = "$class\::$sub";
eval qq{ require $subclass };
croak($@) if $@;


ごめん。
なんかテキトー。
あと、use Carp しとかなアカンね。これ。

    my $self = bless {
        file   => $file,
        header => {},
        opt    => $opt,
    }, "$class\::$sub";


これって、自分自身とちゃうのに、$self って変数なんがちょっと違和感やわ。
いや、こういうもんなんかな。
僕やったら…うーん…そやなぁ…。
いい単語が思い浮かばへんわ。

my $jitensha = bless {
    file   => $file,
    header => {},
    opt    => $opt,
}, $subclass;


$jitensha でええかなぁ。


あとは、もう、なんや、添削したいけど、もう眠たい。
久々やわぁ。
こんな遅くまで起きてたの。


get_ なんとか time() なものは、全部、DateTime あたりのオブジェクト返すメソッド用意しておいて、そこから strftime() 呼ぶ wrapper みたいにしたらええんとちゃう?


あと、MLD::Info::* やけど

% cd MLD/Info
% grep -h ^sub *.pm | sort | uniq -c | sort -nr
   7 sub get_title {
   7 sub get_song_writer {
   7 sub get_copyright {
   7 sub get_author {
   7 sub _parse {
   3 sub get_version {
   2 sub get_description {
   1 sub get_supt {
   1 sub get_prot {
   1 sub get_memo {
   1 sub get_date {
   1 sub get_artist {
   1 sub _parse_opda {
   1 sub _parse_cnti {

なんか、共通化出来るとこは、雛形を作っておいて、それを use base 'MLD::Info::Jitensha' みたいに継承したほうがええんとちゃうかな。


あと、中で何やってるか、全然わからんから、そこらへんは、なんか専門家のほうがええんやろな。
小飼さんとか。


こんなもんでええかな。
僕の添削。


ていうか、マジレスすぎておもろないやろ。
ごめんなー。


もう今日はそろそろ自転車のギアに油さして、寝るわー。
ほな。