Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Perlを書くときに
意識していること
2015.01.16
吉祥寺.pm(kichijojipm) #2
About Me
#!/usr/bin/perl -w
use strict;
# 名前
my $name = '増子 良太';
# 名前(ふりがな)
my $name_kana = 'ますこ りょうた';
# 年齢
my $age = 31;...
History
2004年9月   株式会社システム技研 入社

携帯のテスターからサーバーの構築まで幅広く経験。
2007年6月   株式会社GENOVA 入社

MovableTypeを拡張したCMS構築・保守、PHPによるアプリケーショ
...
保守から始めたPerl
だからこそ言える!
Perl書くときに
意識していること
▼▼▼▼▼▼▼▼▼▼▼▼▼
my %hash = map { $_ => 1 } @array;
foreach (@array){ print $_ ;}
処理1
処理2
たとえばこんなソースコード
my %hash = [];
foreach my $ret(@array){
$hash{$ret} = 1;
};
foreach my $ret(@array){
print $ret;
}
処理1
処理2
このように書くとPerlっぽく...
なぜ?
• 複数の処理を1行にまとめて書かない

PHPなど別な言語を読めるけど、、、という人にもわか
りやすく
• mapは1つの処理であればOKだけど、複数の処理をする
のであればforやforeachで代用するとか
• 特殊変数に特別な意...
sub func1 {
my ($num1, $num2) = @_;
$num1 + $num2;
}
サブルーチン1
たとえばこんなソースコード
sub func2 {
my ($array) = @_;
shift @$array if ...
sub func1 {
my ($num1, $num2) = @_;
return $num1 + $num2;
}
サブルーチン1
このようにも書けます
sub func2 {
my ($array) = @_;
return '' if ...
• サブルーチンには戻り値を(return文)

サブルーチンの最後の計算結果を戻り値として返す
パターンで書いてあると、計算結果を読む必要があ
る。
• Perlがあまりわからない人でも読めるように!
なぜ?
まとめ
まとめ1
将来メンテナンスする人が
少しでも読み易いコードを意識して書く
たとえば・・・
• Perlを得意ではない人がメンテナンスする必要が出てきた時
ちょっと意識しておくだけで、他の人でも読み易いコードができます。
まとめ2
ソースのかっこよさ < ソースの読みやすさ



メンテナンスする上では

ソースのかっこよさなんて関係ありません。



パッとみて何をしているかがわかることが大事

ご静聴ありがとうございました
Upcoming SlideShare
Loading in …5
×

Perlを書くときに意識していること

714 views

Published on

吉祥寺.pm (kichijojipm) #2に参加してLTをした時の資料です。
https://atnd.org/events/59576

Published in: Engineering
  • Login to see the comments

  • Be the first to like this

Perlを書くときに意識していること

  1. 1. Perlを書くときに 意識していること 2015.01.16 吉祥寺.pm(kichijojipm) #2
  2. 2. About Me #!/usr/bin/perl -w use strict; # 名前 my $name = '増子 良太'; # 名前(ふりがな) my $name_kana = 'ますこ りょうた'; # 年齢 my $age = 31; # 誕生日 my $birthday = '1983/7/4'; # 住んでるところ my $address = '吉祥寺'; # 好きなプログラミング言語 my $fav_language = 'JavaScript';
  3. 3. History 2004年9月   株式会社システム技研 入社
 携帯のテスターからサーバーの構築まで幅広く経験。 2007年6月   株式会社GENOVA 入社
 MovableTypeを拡張したCMS構築・保守、PHPによるアプリケーショ ン作成、Androidアプリの作成やテストなども経験。 2014年7月   フリーランスとして活動開始
 SixApart社にてMovableTypeの開発のお手伝い、ECサイトの構築支 援、求人サイト構築など会社やプロダクトに縛られずスキルアップを続 けています。
  4. 4. 保守から始めたPerl だからこそ言える! Perl書くときに 意識していること ▼▼▼▼▼▼▼▼▼▼▼▼▼
  5. 5. my %hash = map { $_ => 1 } @array; foreach (@array){ print $_ ;} 処理1 処理2 たとえばこんなソースコード
  6. 6. my %hash = []; foreach my $ret(@array){ $hash{$ret} = 1; }; foreach my $ret(@array){ print $ret; } 処理1 処理2 このように書くとPerlっぽくありませんが、 PHPしか読めない人にでもすぐ理解できます。 このようにも書けます
  7. 7. なぜ? • 複数の処理を1行にまとめて書かない
 PHPなど別な言語を読めるけど、、、という人にもわか りやすく • mapは1つの処理であればOKだけど、複数の処理をする のであればforやforeachで代用するとか • 特殊変数に特別な意味があるのであればわかりやすい変数 名に代入するとか • 生粋のPerl使いは体が痒くなるかも??
  8. 8. sub func1 { my ($num1, $num2) = @_; $num1 + $num2; } サブルーチン1 たとえばこんなソースコード sub func2 { my ($array) = @_; shift @$array if ref($array) eq 'ARRAY'; } サブルーチン2
  9. 9. sub func1 { my ($num1, $num2) = @_; return $num1 + $num2; } サブルーチン1 このようにも書けます sub func2 { my ($array) = @_; return '' if ref($array) ne 'ARRAY' my @array = @{$array}; return shift @array; } サブルーチン2
  10. 10. • サブルーチンには戻り値を(return文)
 サブルーチンの最後の計算結果を戻り値として返す パターンで書いてあると、計算結果を読む必要があ る。 • Perlがあまりわからない人でも読めるように! なぜ?
  11. 11. まとめ
  12. 12. まとめ1 将来メンテナンスする人が 少しでも読み易いコードを意識して書く たとえば・・・ • Perlを得意ではない人がメンテナンスする必要が出てきた時 ちょっと意識しておくだけで、他の人でも読み易いコードができます。
  13. 13. まとめ2 ソースのかっこよさ < ソースの読みやすさ
 
 メンテナンスする上では
 ソースのかっこよさなんて関係ありません。
 
 パッとみて何をしているかがわかることが大事

  14. 14. ご静聴ありがとうございました

×