Submit Search
Upload
Perlを書くときに意識していること
•
0 likes
•
817 views
良太 増子
Follow
吉祥寺.pm (kichijojipm) #2に参加してLTをした時の資料です。 https://atnd.org/events/59576
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 14
Download now
Download to read offline
Recommended
男女共同ペアプログラミング勉強会関西の紹介
男女共同ペアプログラミング勉強会関西の紹介
takepu
Androidの世界を離れて異文化留学してみた
Androidの世界を離れて異文化留学してみた
Hiroshi Kikuchi
なるべくコードを書かないAndroid開発
なるべくコードを書かないAndroid開発
Hiroshi Kikuchi
ビジュアルプログラミング言語Scratchで遊ぼう
ビジュアルプログラミング言語Scratchで遊ぼう
Tomoyuki Sugita
Himotoki: A type-safe JSON decoding library #関モバ
Himotoki: A type-safe JSON decoding library #関モバ
Syo Ikeda
Writingseminar
Writingseminar
YUKIHISANARITA
RubyWorld Conference 2015 11121620
RubyWorld Conference 2015 11121620
Ai Yoshitani
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
Megumi Otani(Czenhe)
Recommended
男女共同ペアプログラミング勉強会関西の紹介
男女共同ペアプログラミング勉強会関西の紹介
takepu
Androidの世界を離れて異文化留学してみた
Androidの世界を離れて異文化留学してみた
Hiroshi Kikuchi
なるべくコードを書かないAndroid開発
なるべくコードを書かないAndroid開発
Hiroshi Kikuchi
ビジュアルプログラミング言語Scratchで遊ぼう
ビジュアルプログラミング言語Scratchで遊ぼう
Tomoyuki Sugita
Himotoki: A type-safe JSON decoding library #関モバ
Himotoki: A type-safe JSON decoding library #関モバ
Syo Ikeda
Writingseminar
Writingseminar
YUKIHISANARITA
RubyWorld Conference 2015 11121620
RubyWorld Conference 2015 11121620
Ai Yoshitani
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
Megumi Otani(Czenhe)
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発
Yuji Otani
Wordbeach 2011 hajimeno ippo
Wordbeach 2011 hajimeno ippo
Satoshi Kamigaki
組織にテストコードを書く文化を 根付かせるためにやってきたこと
組織にテストコードを書く文化を 根付かせるためにやってきたこと
Suguru Shirai
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
parrotstudio
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
sugimoto1022
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
Yuji Otani
Vasily i os-20140403
Vasily i os-20140403
Yusuke Arai
チームラボ スマホアプリチームの面白い仕事の作り方
チームラボ スマホアプリチームの面白い仕事の作り方
Wataru Sakashita
新卒で即戦力なエンジニアになる
新卒で即戦力なエンジニアになる
Shota Okutsu
最近誰かに「やったほうがいいよ」と伝えた7のこと
最近誰かに「やったほうがいいよ」と伝えた7のこと
Noriaki Kadota
第10回ゼロからはじめるWordPress勉強会(初心者向け)
第10回ゼロからはじめるWordPress勉強会(初心者向け)
kenji goto
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
Yu Tanaka
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライド
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライド
junnamacom
女子にうけるUIはどうやって作られるか?ネイルブックのデザインプロセス大公開!
女子にうけるUIはどうやって作られるか?ネイルブックのデザインプロセス大公開!
Yuka Masaki
いい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみた
Hayashi Yuichi
PHP7で目指す 継続的インテグレーション開発
PHP7で目指す 継続的インテグレーション開発
優也 田島
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話
Shohei Tai
Herokumeetup8 growライトニングトーク
Herokumeetup8 growライトニングトーク
淳 竹野
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
Tomoki Hasegawa
納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組み
Masahiro Nishimi
More Related Content
Similar to Perlを書くときに意識していること
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発
Yuji Otani
Wordbeach 2011 hajimeno ippo
Wordbeach 2011 hajimeno ippo
Satoshi Kamigaki
組織にテストコードを書く文化を 根付かせるためにやってきたこと
組織にテストコードを書く文化を 根付かせるためにやってきたこと
Suguru Shirai
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
parrotstudio
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
sugimoto1022
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
Yuji Otani
Vasily i os-20140403
Vasily i os-20140403
Yusuke Arai
チームラボ スマホアプリチームの面白い仕事の作り方
チームラボ スマホアプリチームの面白い仕事の作り方
Wataru Sakashita
新卒で即戦力なエンジニアになる
新卒で即戦力なエンジニアになる
Shota Okutsu
最近誰かに「やったほうがいいよ」と伝えた7のこと
最近誰かに「やったほうがいいよ」と伝えた7のこと
Noriaki Kadota
第10回ゼロからはじめるWordPress勉強会(初心者向け)
第10回ゼロからはじめるWordPress勉強会(初心者向け)
kenji goto
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
Yu Tanaka
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライド
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライド
junnamacom
女子にうけるUIはどうやって作られるか?ネイルブックのデザインプロセス大公開!
女子にうけるUIはどうやって作られるか?ネイルブックのデザインプロセス大公開!
Yuka Masaki
いい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみた
Hayashi Yuichi
PHP7で目指す 継続的インテグレーション開発
PHP7で目指す 継続的インテグレーション開発
優也 田島
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話
Shohei Tai
Herokumeetup8 growライトニングトーク
Herokumeetup8 growライトニングトーク
淳 竹野
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
Tomoki Hasegawa
納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組み
Masahiro Nishimi
Similar to Perlを書くときに意識していること
(20)
Hack+FuelPHPによるWebサービス開発
Hack+FuelPHPによるWebサービス開発
Wordbeach 2011 hajimeno ippo
Wordbeach 2011 hajimeno ippo
組織にテストコードを書く文化を 根付かせるためにやってきたこと
組織にテストコードを書く文化を 根付かせるためにやってきたこと
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
メディアへの寄稿をやってみて〜きっかけと仕事の流れ
Hack言語に賭けたチームの話
Hack言語に賭けたチームの話
Vasily i os-20140403
Vasily i os-20140403
チームラボ スマホアプリチームの面白い仕事の作り方
チームラボ スマホアプリチームの面白い仕事の作り方
新卒で即戦力なエンジニアになる
新卒で即戦力なエンジニアになる
最近誰かに「やったほうがいいよ」と伝えた7のこと
最近誰かに「やったほうがいいよ」と伝えた7のこと
第10回ゼロからはじめるWordPress勉強会(初心者向け)
第10回ゼロからはじめるWordPress勉強会(初心者向け)
【Swift】 それ、enumとstructでやってみましょう!!
【Swift】 それ、enumとstructでやってみましょう!!
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライド
ウェブ開発者がやさしい日本語に取り組んでわかったこと - ウェブでの情報提供とやさしい日本語 発表スライド
女子にうけるUIはどうやって作られるか?ネイルブックのデザインプロセス大公開!
女子にうけるUIはどうやって作られるか?ネイルブックのデザインプロセス大公開!
いい感じのフロントエンド開発環境を作ってみた
いい感じのフロントエンド開発環境を作ってみた
PHP7で目指す 継続的インテグレーション開発
PHP7で目指す 継続的インテグレーション開発
爆速フレームワークでREST APIを作った話
爆速フレームワークでREST APIを作った話
Herokumeetup8 growライトニングトーク
Herokumeetup8 growライトニングトーク
Swift事情2014夏 ~ Swift入門 beta6対応
Swift事情2014夏 ~ Swift入門 beta6対応
納品のない受託開発を支える レガシーコードを作らない仕組み
納品のない受託開発を支える レガシーコードを作らない仕組み
Perlを書くときに意識していること
1.
Perlを書くときに 意識していること 2015.01.16 吉祥寺.pm(kichijojipm) #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.
History 2004年9月 株式会社システム技研 入社 携帯のテスターからサーバーの構築まで幅広く経験。 2007年6月 株式会社GENOVA 入社 MovableTypeを拡張したCMS構築・保守、PHPによるアプリケーショ ン作成、Androidアプリの作成やテストなども経験。 2014年7月 フリーランスとして活動開始 SixApart社にてMovableTypeの開発のお手伝い、ECサイトの構築支 援、求人サイト構築など会社やプロダクトに縛られずスキルアップを続 けています。
4.
保守から始めたPerl だからこそ言える! Perl書くときに 意識していること ▼▼▼▼▼▼▼▼▼▼▼▼▼
5.
my %hash =
map { $_ => 1 } @array; foreach (@array){ print $_ ;} 処理1 処理2 たとえばこんなソースコード
6.
my %hash =
[]; foreach my $ret(@array){ $hash{$ret} = 1; }; foreach my $ret(@array){ print $ret; } 処理1 処理2 このように書くとPerlっぽくありませんが、 PHPしか読めない人にでもすぐ理解できます。 このようにも書けます
7.
なぜ? • 複数の処理を1行にまとめて書かない PHPなど別な言語を読めるけど、、、という人にもわか りやすく • mapは1つの処理であればOKだけど、複数の処理をする のであればforやforeachで代用するとか •
特殊変数に特別な意味があるのであればわかりやすい変数 名に代入するとか • 生粋のPerl使いは体が痒くなるかも??
8.
sub func1 { my
($num1, $num2) = @_; $num1 + $num2; } サブルーチン1 たとえばこんなソースコード sub func2 { my ($array) = @_; shift @$array if ref($array) eq 'ARRAY'; } サブルーチン2
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.
• サブルーチンには戻り値を(return文) サブルーチンの最後の計算結果を戻り値として返す パターンで書いてあると、計算結果を読む必要があ る。 • Perlがあまりわからない人でも読めるように! なぜ?
11.
まとめ
12.
まとめ1 将来メンテナンスする人が 少しでも読み易いコードを意識して書く たとえば・・・ • Perlを得意ではない人がメンテナンスする必要が出てきた時 ちょっと意識しておくだけで、他の人でも読み易いコードができます。
13.
まとめ2 ソースのかっこよさ < ソースの読みやすさ メンテナンスする上では ソースのかっこよさなんて関係ありません。 パッとみて何をしているかがわかることが大事
14.
ご静聴ありがとうございました
Download now