X



美しいコードのCGIを愛でるスレ
0001美しいコードを愛でる会垢版02/03/19 02:59ID:HVLinBmy
世の中ゲロンパに汚いコードなPerlのCGIスクリプトが反乱している。
もちろんperlstyle.podに則って自分で書くのも良いさ。
あぁオレはそうしている。
でもな。KENTやレスキューのコードがスタンダードだと勘違いしているやつが氾濫しては問題があるだろう。
そこで美しいコードを誇るCGIスクリプトを集め、皆で愛でようでは無いか。

最低条件
* use strictしてること(-wTは任意)
* 変数、サブルーチン、メソッドには意味のある名前を割り当てていること
* 更新されていること
* 作者と連絡がとれること(メアド、更新されているWebサイト)
0113山崎 渉垢版03/08/15 23:22ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0114nobodyさん垢版04/03/30 00:21ID:Et1WRFOC
復活を期待してあげてみる
0115nobodyさん垢版04/03/30 18:49ID:+0Zs5qfc
>>114
いいネタふってよ。
0116nobodyさん垢版04/03/31 03:01ID:???
>1
今更だけど
* use strictしてること(-wTは任意)
って開発時だけで十分だし、指定しても動きエラーも無い事って書いた方が良かったな。
#use strict は nifty 等に配慮して公表時には省くって言ってた人も居る。

まあ指定しておいたら誰かがログから
作者の気付かなかったエラー提出してくれるかもしれないけど稀だし。
0117nobodyさん垢版04/03/31 03:20ID:eTtz6haw
過疎板なんだしで暫くageてみましょうよ。

定期的にメンテナンスされたり、多くの人がパッチを書くとなると
美しさを保つためにはやっぱり use strict されている必要があるんじゃないかな。

伽藍的な美しさもあるけどね。Rosettaとか。
ttp://search.cpan.org/~duncand/Rosetta-0.28/
0118nobodyさん垢版04/03/31 05:16ID:???
Perlのサブルーチンの書き方って、例えば
#サブルーチン名適当、途中処理略
sub login{
get_query();
}

sub get_query{
end():
}

sub end{
exit(0);
}

のような、つまり処理の最初から最後まで
サブルーチンからサブルーチンへ飛び回るようなのは解りづらい?

以前はこういう作り方してたんだけど、
ある日思い直してメインとなる処理部分を作って、
それぞれのサブルーチンの返り値を受け取りつつ(一部除く)
順番に進めていくように最近は作り始めたんだけど。
0119nobodyさん垢版04/03/31 05:49ID:eTtz6haw
>>118の例示よりも

my $status = Handler->login(@argv);
my $value = Handler->get_query($status);
$value eq 'hoge' ? Handler->nexthop() : Handler->end();

さらに、

my $handler = Handler->new();
$handler->login(@argv);
$handler->action();

# Handler.pm
sub action{
  my $self = shift;
  $self->get_query() eq 'hoge' ? $self->nexthop() : $self->end();
}

同じ事をやるのにも可読性・抽象性・再利用性を考えて書くと
オブジェクティブなコードになってくるんじゃないでしょうかね。
0122nobodyさん垢版04/04/04 14:45ID:???
>>120
見事にzipの内容が再帰しているのはギャグですか?
0123nobodyさん垢版04/05/16 15:07ID:AvZsWZrL
age
0124nobodyさん垢版04/05/16 15:57ID:???
CGI.pmを使ってPOSTする方法を教えてください。
0126nobodyさん垢版04/10/21 02:48:18ID:DbaR8cSm
あげ
0127nobodyさん垢版05/01/09 12:37:31ID:uD8+xJLM
日本のperlはみんなめちゃくちゃだよ。。
みんなtDiaryを読めー
0128nobodyさん垢版05/01/09 22:08:22ID:???
更新されていることは美しいのか?
0129nobodyさん垢版05/01/10 04:16:29ID:gXtmp04s
>>52

激しく同意。

チームでやるなら、言語依存の記述で凝って短くスマートに書かれるより、
コメントが多く平易な流れのコードが扱いが良い。チームには、いろんな
レベルのやつがいるからな。読み手もいろいろということだ。
あまり、凝って美しくすると読めないやつが増える。

また個人で使うCGIは、strictにしたり、my関数を使ったりするのは
自由だが、広くCGIとして配布するならPerl4でも動くように書いて、
パスのデフォルトはオールドな/usr/local/bin/perlなんてこともある。

結局ここで言う美しさなんて、オナニーなんだよ。プログラマの。





0130nobodyさん垢版05/01/10 16:03:18ID:OenI9N/y
>>129
「わかりやすい」ことも美しさの1つだろ。
わかりやすいだけじゃ美しくは無いがな。
0131nobodyさん垢版05/01/10 18:03:31ID:???
>>130
わかりやすいだけではないと思うが
わかりやすさは大半を占めてると思う
0132nobodyさん垢版05/01/10 20:21:03ID:???
いまだにPerl4使ってる奴なんているの?
最後の安定バージョンのリリースは12年前の1993/2/5だぞ?爺はいらね。
ついでに煽っておくと「(俺様が)わかりやすいように書いた」なんつーコードは
冗長で遅い糞コードの代表みたいなものなので短くて速いコード書けや。
0133nobodyさん垢版05/01/10 23:42:15ID:gXtmp04s
>いまだにPerl4使ってる奴なんているの?
使っている奴はいないが、Perl4をいまだ
使っているプロバイダはあるので、目的により
そういう書き方で配布するケースもあるだろう。

「(俺様が)わかりやすいように書いた」
おい、逆だ。チームがわかりやすいようにと
書いてあるんだが。文脈を読めないやつだな。

あと、お前が勘違いしているのは短いコードが
早いとは限らないということ。
抽象化したコードはより簡潔になるが、速度は犠牲になる
ことが多い。
ラクダ本を少し嫁。


0134nobodyさん垢版05/01/11 00:14:45ID:AE+kb3/p
>>133
どこの誰が「短いコード=美しい」なんて言い出したんだ?

流れを読む限り、お前ってことになりそうだが。
0135nobodyさん垢版05/01/11 01:25:00ID:QoqQoJmx
>どこの誰が「短いコード=美しい」なんて言い出したんだ?
余計なつっこみかもしれないが、
132,133はどちらもそう書いていないぞ。
誰と聞かれれば、134になるな。完結。
0138nobodyさん垢版05/01/13 21:24:52ID:???
 \ヽ从//
 Σ (⌒)ヽ_∧
   mてつ ・∀・) <お前。
 // YY ヾ\
0140nobodyさん垢版2005/05/18(水) 23:48:42ID:???
どんなコードでもいいんでバグ出さないでくれ
後で読まなくて済むから
0141nobodyさん垢版2005/08/11(木) 19:07:00ID:???
三ヵ月も前の流れにレスされてもなぁ
0142nobodyさん垢版2005/08/25(木) 20:49:34ID:yNBOcjhz
アップローダースレの>>716がおいていったコードなんだがあまりにも醜くて、
ttp://up.isp.2ch.net/up/dcce97420e5d.zip
一応晒しておきますね。
0143nobodyさん垢版2005/08/25(木) 22:07:37ID:???
ざっと斜め読みしただけだが
俺としてはまだ耐えられる範囲かな。
このままの勢いで10倍くらいのサイズになったら楽しそうだが。
0144nobodyさん垢版2006/04/23(日) 19:39:28ID:???
use strict について詳しく書いたページないかな。
perldoc以外で。
use strictしろって一文なら何度も見たんだけど
いまいちぴんと来ない。
でもせっかくなら綺麗で分かりやすいコード書きたいし。
0145nobodyさん垢版2006/04/24(月) 19:58:58ID:???
>>144
「綺麗」の定義にも依るけれど、strict プラグマはコードを「綺麗」に
するものではなく「安全」に保つ手伝いをしてくれるものだから、
そういう切り口のページはいくら探しても無いんじゃないかな。
0146144垢版2006/04/25(火) 00:03:05ID:???
>>145
どうもです。そうかーそうだよね。
コードの書き方自体は perlstyle.pod を参考にしてるんだけど。

use strictするとそれまでなかったエラーがたくさん出るから、
それをひとつひとつ解決するついでに
そうすることの意義みたいなものが知りたかったんだ。
でも巷で配布されてるCGIを見るにあまり必要ないことなのかな?
自分はCGI作るためにPerl始めたんで、参考書よりそっちのコードを眺めてるほうが多い。
0147nobodyさん垢版2006/04/25(火) 15:51:27ID:???
多人数での作業、または
巨大プログラム開発時における変数の保守のため。

1人規模のプログラムではまだ必要ない。
でもできる限り関数化は目指した方が後々良い
0148nobodyさん垢版2006/04/25(火) 22:30:34ID:???
配布 CGI のコードにろくなものがないのは激しくガイシュツ
0149nobodyさん垢版2006/04/26(水) 14:27:51ID:???
>>146
えーと
>コードの書き方自体は perlstyle.pod を参考にしてるんだけど。

が、

>でも巷で配布されてるCGIを見るにあまり必要ないことなのかな?

なんでこう思うようになっちゃうのかが分からないんだけど。

もしかして最初から何も考えずに use strict してるとその
ありがたみって分からなくなるのかな?  だとすると
use strict しろっていう「一文」て実は有害?

use strict せずにグローバル変数使いまくりな CGI の
改造して地雷踏んだりすれば意義なんていやっていう
ほど痛感するものだと思うんだけどね。
0150144垢版2006/04/26(水) 17:24:06ID:???
なんだかアホいレスしていてすみません。
We上の色々な講座的ページを見ながらPerlの勉強をしてるつもりですが
use strictした上でのコーディングについてはあまり見つからないんです。
正直、use strictをすることで得られる恩恵についてはほとんど知りません。

「use strictしろというからやってみたけどエラーばっかでこの次どうすりゃいいんだかワカンネ」
「でもしたほうがいいらしい」
↑この辺をぐるぐるしているw
0151nobodyさん垢版2006/04/26(水) 19:29:50ID:???
>>150
なるほど。
use strict の次は「なんでもかんでも my つけろ」かな。

perldoc をあれこれ読めば use strict する理由もエラーの
対処法も分かると思うが、『Perlプログラミング救命病棟』
読むといいかもね。まとまってて扱いやすい。

正直、Perl について Web 上で「ハイレベルではないがモダン
な情報」を手に入れるのは厳しいと思うぞ。
0152nobodyさん垢版2006/04/26(水) 20:06:30ID:???
144 は Perl と BASIC 以外の経験あるかい?
あれば割とすぐ恩恵が分かりそうな気がするんだけど
0153nobodyさん垢版2006/04/27(木) 00:33:41ID:???
>>151
ありがとう。この本知りませんでした。
早速ウィッシュリストに入れたけどとりあえず著書間見てくる
あとlocalとmyについてもっと勉強してきます。

>>152
PerlのほかはJavaScriptくらいです。
DHTMLのために少しいじるくらいで、20行以内のものしか経験なし。
あとはDMonkeyとかDelphiを少し捏ね回す程度。
0154144垢版2006/04/27(木) 00:34:57ID:???
153は俺です。
あと誤字
×著書間
 ↓
○図書館

メンゴ
0155nobodyさん垢版2006/05/14(日) 22:04:32ID:6NDVp4aa
あげ
0160nobodyさん垢版2015/11/07(土) 17:34:20.22ID:sT3wDnc5
( ´∀`)
0161nobodyさん垢版2015/11/15(日) 01:30:22.94ID:/m4xO8V3
!申し込んですぐにLINEスタンプを作れる。あとは投稿するだけ。
http://stampfactory.net
0162nobodyさん垢版2015/11/16(月) 01:59:37.49ID:zqD+gs+9
転職の際に必ず思い出してください。
下記の条件が全て当てはまる会社にご注意下さい。

・IT系 in 東京
・転職会議で2.5点
・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される
0163nobodyさん垢版2017/12/30(土) 16:04:56.68ID:YhlYw6jg
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。

グーグル検索⇒『半藤のブブイウイウレレ』

6PXXW0OIOH
レスを投稿する


ニューススポーツなんでも実況