1 :
美しいコードを愛でる会 :
02/03/19 02:59 ID:HVLinBmy 世の中ゲロンパに汚いコードなPerlのCGIスクリプトが反乱している。 もちろんperlstyle.podに則って自分で書くのも良いさ。 あぁオレはそうしている。 でもな。KENTやレスキューのコードがスタンダードだと勘違いしているやつが氾濫しては問題があるだろう。 そこで美しいコードを誇るCGIスクリプトを集め、皆で愛でようでは無いか。 最低条件 * use strictしてること(-wTは任意) * 変数、サブルーチン、メソッドには意味のある名前を割り当てていること * 更新されていること * 作者と連絡がとれること(メアド、更新されているWebサイト)
3 :
美しいコードを愛でる会 :02/03/19 03:15 ID:HVLinBmy
4 :
美しいコードを愛でる会 :02/03/19 03:20 ID:HVLinBmy
>1 >use strictしてること(-wTは任意) おれレベルならこんなのいちいち書かなくてもキッチリ宣言してるから どうやらオマエとはレベルが...
>>5 そう、オレはヘタレでしょっちゅうミスをする。
自分の作業を信用していないからuse strictする。
そして結局楽になる。
もちろん他人のコードを触る時もミスをする。
でもそのコードがuse strictしてない/したら凄いことになるコードだったら
そもそも手を付けない。
>>5 きっちり宣言していようが、書いておくべきだろう。
8 :
nobodyさん :02/03/19 07:29 ID:WphNZTP7
use strict;? require './config.cgi';してるからしないよ。
俺は最近はstrictと-wなしでコーディングなんて出来ないよ。 ずいぶん長いあいだ-wは不要、とか思ってたが、一度有用性に気づくともう手放せないね。
>10 クソサイトばっかり張るなって(藁 管理人の自作自演か?
なんで -w だと一度だけ出てくる変数が警告されるの? 一度だけ出てくるもの セットする前に使用されるスカラー変数 複数回定義されるサブルーチン サブルーチンの再帰が 100 以上 このへんが警告喰らうのも分からん。
13 :
nobodyさん :02/03/19 11:17 ID:WphNZTP7
あげとこう
>>12 一度だけでてくる変数が警告されるのは、typoの可能性があるからじゃないかな?
サブルーチンの再帰が100以上ってのはすごいな。見たことないけど警告したいね(笑)
サブルーチンを複数回定義するんだったら別のものにした方が安全という思想があれば警告すると思う。
セットする前に使用されるスカラー変数にも警告でると思うけどな(笑)
てなかんじですが?
15 :
nobodyさん :02/03/19 11:35 ID:WphNZTP7
> 一度だけでてくる変数が警告されるのは、typoの可能性があるからじゃないかな? typoの意味が分からんかった。googleすると「タイプミスのこと」とな(^^; なるほど。そういう意味なら納得。 変数のセットする前,というのは my とかで宣言する前,という意味ですか?
16 :
nobodyさん :02/03/19 11:48 ID:WphNZTP7
-w 1 度しか使われない識別子、設定される前に使われている変 数に警告を出します。 サブルーティンの再定義、未定義の ファイルハンドルの参照や、read-only でオープンしたファ イルハンドルへの書き込みにも警告を出します。 また、数 値に見えない値を数値として使った場合、配列をスカラであ るかのように使った場合、100 段階以上のサブルーティンの 再帰、その他たくさんの事に警告を出します。 perldiag manpage と perltrap manpage を参照してください。 なるほど。空の変数をprint とかで呼び出してる場合に警告するのね。
17 :
10 :02/03/19 13:05 ID:???
>>11 いや、自演なんてしないよ。
日本でいいのってなんかある?
全部Perlスクリプトのコードとしての評価じゃないな。 まあ、CGIとしてはHTMLは重要か。
でも、2も3もスキン機能があるんだから、使う側がいかようにもすれば良いんじゃないか? で、ageとくか。
22 :
19 :02/03/19 23:56 ID:???
ファイルが10枚以下でHTMLがそこそこまともならソース読むぞー。
美しいコードって、実際どういうコードのこと言うんだ?
>>23 ぱっと思いつくのはこんな感じかな。
*一貫性のあるコーディングスタイル*
趣味や職場によってかわるが、perlstyle.podに近ければとりあえず良し。
*一貫性のあるインデント*
インデントすらしてない奴有るんだよね。。。
*メソッドの行数は10行未満が望ましい*
チョー長いサブルーチンや、サブルーチンにすらしてないようなコードはX
*意味のある名前を使っていること*
1も出してたけど意味の無い変数名を付けない。
メソッド名は宣言的な名前を使う。多少長くても問題なし。
*無意味な省略形の名前を使っていないこと*
ループ内の $i は許そう。
*同じことを複数の場所でやっていないこと*
コピー&ペーストで書いたコードはこうなってるのが多い。
ある機能を変えたいときに複数の場所を変えなければいけないコードは×
*Perlの機能を有効活用していること*
配列の要素を全部舐めるのにCっぽいことしたりしない。mapもgrepも上手く使え。
逆に「こーいう書き方されるとムカツク」ってのは挙げやすそうっすね。
26 :
25 :02/03/21 00:32 ID:???
忘れてた。 *スコープを意識していること* my $hoge = 'hello world' sub function { substr $hoge, 6, 5; } とか、無駄にスコープを跨いで変数使われたりするとスゲー読みにくくなる。 mod_perlでヤナ思いするし。
27 :
nobodyさん :02/03/21 09:52 ID:FXfspbxz
ゆいチャットのコードが評価される点は「改行を極力減らした」って点だけなの?
7行でDVDクラック
っていうか、
>>1 とか
>>25 の書いてることを満たしてるPerlスクリプトは、もう無いのか?
>>10 で書いたものだけか?
情けないな。
31 :
34 :02/03/21 18:43 ID:ApVBb+mz
(´-`).。oO(なんで Perl の時点で綺麗なんてありえないってことに気付かないんだろう・・・)
(´-`).。oO(Perlでも「マシ」な方のスクリプトを挙げようという趣旨なのでは・・・)
-wは必須だろ。 まあ、警告吐くモジュールもあるから、本番稼動中は無しにしても、 テストではつけるべし。
>>32 じゃあなんだときれいなソースできるのかな?
COBOL?FORTRAN?BASIC?ASM?
36 :
nobodyさん :02/03/21 22:22 ID:dJmFvqS+
>>37 そもそもきれいなソースなんかあり得ないから。
>>38 君の美的感覚は疑わざるを得ない。
とか書いて思ったけど、人によって価値観違うから
あまり強くはいえないよね。
40 :
nobodyさん :02/03/22 08:35 ID:vhJfDKGC
>>35 「きれいなソース」でCGIを書くなら、RubyかDelphiでしょう。
41 :
nobodyさん :02/03/22 09:51 ID:5zrp8DGK
いいコードを見るといろいろ参考になるねー。 php もいい?
42 :
nobodyさん :02/03/22 09:55 ID:jHjSEJvi
コメントのないソースはどんな言語でも糞。
43 :
nobodyさん :02/03/22 10:06 ID:5zrp8DGK
関数にコメントつけるときは, その関数がどういう関数なのかという説明と, 引数や戻り値の説明もあったほうがいいのかな?
44 :
nobodyさん :02/03/22 11:01 ID:2zj+wCNW
>35>40 君達の美的感覚は調整が必要です。 最適解は scheme
>>40 Delphi厨はマ板に(◕ฺ∀◕ฺ)カエレ!
きれいなコードを書けているつもりになれる言語だね。
>>50 普通ソースなんて人に見せるものじゃないから、
自分一人でうっとりしていればいいんだよね。
グループやチームでソース書く必要あるんだったら、
美しさというより、ほかのメンバーにわかりやすい内容で書けばいいのであって、
結局美しさになんの意義も意味もないね。
ソースではなく、完成したものの出力が美しく、処理が機能的であればよいのであって、
ソースが美しいかどうかなぞと言うことは、手段の目的化以外の何者でもない。
>>52 漏れは、美しさ=わかりやすさだと思うな。
トリッキーなコードばっかり書いてる奴は逝ってよいよ。
一度トリッキーなコードの魅力に触れると 普通にしっかりと書いてあるコードが冗長に見えていかん
57 :
53 :02/03/23 00:06 ID:???
>>54 ,56
いやぁ、自分で書いて自分でうっとりする分にはいいんだけどね。
ム板のトリッキースレとか好きだったし。
ただ、それを(略
ほっほー。
59 :
nobodyさん :02/04/09 23:33 ID:/gHRipFv
前の会社で、 「あいつのソース、綺麗なんだけど、動かないんだよなぁ〜」 って人いたよ。
61 :
F11 :02/04/10 21:12 ID:RNZ++qE3
なんつーか、死ぬほどサブルーチンだらけのソースはどうですか。 全体の8〜9割がサブルーチン。
>>61 ああ、そういうのよくあるよね。
最初に
&read
&html
&end
みたいな感じで、あと全部サブルーチンなの。
俺は嫌い。だって重複して使われてるわけでもないのに意味ないじゃん。
しかも読みにくいよ。
>重複して使われてるわけでもないのに意味ないじゃん。 恥ずかしい。 >しかも読みにくいよ。 恐らく、あなたのソースコードのほうが読みにくいでしょうね。
mod_perlを使うとき、main()等を設けるほどの几帳面さが役に立つ。
65 :
美しいコードを愛でる会 :02/04/10 22:25 ID:9zLUZHR0
>>61 >>62 そーいうのが困るんだなこれが。
処理のブロック(固まり)ごとにサブルーチン化して、
やっていることを表す適切な名前を付るのが王道。
コメントつける暇あったら、
サブルーチン化して適切な名前を付けて下さい。
# このへんは「リファクタリング」を見よって感じ。
66 :
nobodyさん :02/04/10 22:32 ID:EI+45BxU
>>63 激しく同意。
>>しかも読みにくいよ。
>恐らく、あなたのソースコードのほうが読みにくいでしょうね。
ここらへんが特に。
サブルーチン入れて読みにくいなんて逝ってる奴なんて
長大スクリプト組んだ事無い奴くらいじゃないの?
67 :
美しいコードを愛でる会 :02/04/10 22:51 ID:9zLUZHR0
なぜサブルーチン化するのか? 何度も利用するからってのも理由の一つだけど、 - その処理ブロックに名前を付けることで処理内容を予測しやすくする。 - スコープを狭めることで変更に伴う影響範囲を小さくする。 ってのがあると思う。 スコープを狭めるってのは実は重要で、 これをやっていないコードはある部分を変更したいんだけど それ以降の(含むそれ以前の)コードにどう影響が生まれるかが とても分かりにくくなってしまう。 まぁ自分で自分用のコード書いているうちは こーいう問題にあうことはないんだろうけど。
68 :
F11 :02/04/10 23:01 ID:RNZ++qE3
自分もサブルーチン作りまくり派なんですが、 細かくしすぎかなぁ感もあって、どこまでやっていいものか。 たとえ2,3行のソースでも色々な場所で使いまわす場合はサブルーチン化したりしてます。 入れ子になってたりもします。 極例ですが下記みたいな流れになってたりします。 自分では見やすいんですが、ちょっと肥大化してる感がいなめませぬ やっぱ入れ子入れ子にしすぎると処理的に重くなりますか? ----------------下記---------------------------- &a0(); aub a0{ &a1(); &a2(); } sub a1{ } sub a2{ a3(); } aub a3{ }
a1とかの名前だとアレだけど、 役割がしっかりと分担されてるなら構わないと思う。(俺は)
70 :
63 :02/04/10 23:13 ID:???
俺は長いソースのこと言ってんじゃねーぞー。 30行のソースでもサブルーチン化しちゃうやつが同じクラスにいるー。 大嫌いだーーー!! 普通に書けバカー!読みにくいんだよ!!このサブルーチンヲタが!! と言い訳してみるテスト
>70 番号間違ってるよ・・・
72 :
62 :02/04/10 23:24 ID:???
>>71 うるせーばかー!!
しかもな○橋!おめーのソースはなー。最初に
&read
&html
&end
#て書いてるのにその下のサブルーチンの順番があべこべなんだよーー!
sub html {
}
sub read {
}
sub end {
}
#読みにくいんじゃボケー!!おまえとチーム組まされてる俺の身にもなってみろー!
#何がオブジェクト指向化だよん(はぁーと)だ!氏ねえええええ!!
>>72 サブルーチンの名前が適切かどーかって話はさておき
順番なんぞ検索すれば良いから重要じゃないね。
viで
/sub name
とか打つだけっしょ?
まともなエディタとそのエディタの使い方を覚えましょう。
74 :
nobodyさん :02/04/11 00:16 ID:93K8BGh2
順番は気にした事ないな。。
&を付けるのはいかがなものかと。
>72 文脈から推察すると、超初心者のカジリたてって感じ? プログラミングを理解してないくせに自分の思いこみだけで一方的な自分の意見を ごり押しする人。 自分のレス番号間違ってることからしてもおっちょこちょいさん。 痛々しいネ!
77 :
nobodyさん :02/04/11 00:49 ID:tSMOjiFh
endとかってサブルーチン名にできたんだ?
78 :
Name_Not_Found :02/04/11 00:50 ID:2Njp9iOK
& はあまり良くないの??初耳っす
read( )って書く方が普通だべ? &はオヤジくさい。
>79 わたしの場合は、必ず & つかってしまうくせがついているが、現にわたしは オヤジだからOKってことね。安心した。 ただ、すでに関数として用意されている read などをサブルーチン名に使うの には抵抗があるなー。 ところで & を付けるのはやめたほうがいいみたいなことってなんかの本にでも 載ってるの? たまにそう言う人がいるけど今まで受け流してきたからハッキリ とした理由が知りたいなー。 なんとなく namazu臭 がするのはわたしだけ?
Perl5の時代になって久しいが、今時サブルーチンの呼び出しに&を付ける なんて書いてある本あるのか?リファレンス使うときしか出てこなくないか?
82 :
nobodyさん :02/04/11 02:11 ID:8LiumuzI
グラブとリファレンスってどう違うんですか? サブルーチンにどっちで渡せばいいの?
84 :
80 :02/04/11 02:27 ID:???
>81 今時の本に書いてないというだけのことで、やめたほうがいいということでは ないということなんだね。了解! 一般関数と区別する意味でも使ったほうがむしろ読み易い気がするのはわたしだけ? わたしの場合、&をつかわないときといったらシグナルハンドラにセットするとき ぐらいかな? ラクダ本には引数なしのサブルーチンは & を使うことで効率がよいとある。
おまえらラクダ本くらいちゃんと読めよな。
>&をつかわないときといったらシグナルハンドラにセットするときぐらいかな? マジかよ。俺が&を明示的につけるのは ・シグナルハンドラの設定 ・オーバーロードメソッドの設定 ・スタックをそのままで呼び出し(&foo;) ・リファレンスの取得(こりゃ言語的制約だからしょうがないが。) てな感じだが。 ビルトイン関数はどうせ色でわかるし。
&が親父臭いって意味がわからん
perl4っぽいってこと?
書いても書かなくても変わらない場面では、書いても意味が無いって意味では同意。 おれは書かない派。 (カッコ)も省けるところは省いちゃう派。
90 :
nobodyさん :02/04/24 20:22 ID:kwCa0Ndo
関数やメソッドの名前でこんな風にしとけってのあるかな? 例えば、何かを確認するような関数ならis****にしとけとか
91 :
nobodyさん :02/04/28 02:48 ID:caIzyTmE
>90 自分は真偽が返り値になるメソッドをis***にしてる。 あと決めてるのはprintみたく返り値を期待しない関数をdo***とするくらい。
>90, 91 チョット認識がずれてる部分もあるが、それって今ではオブジェクト指向の 言語では普通にやられていること。 形式としては、動詞+目的語 のような感じ。目的語は省略する場合もあるが、 もしあれば先頭は大文字が一般的。 オマエらを殺す関数なら killYou とかね。
>>92 ちなみにPerlではキャピタライズは普通しなくて
$厨房->kill_you()
が普通な。
perldoc perlstyle
>>93 未熟者め!
$厨房->should_die();
95 :
93 :02/05/03 00:51 ID:???
>>94 変数に漢字が使えたら可読性が上がるような気がする。(やはり表意文字?)
制御文とかは、むしろ英語の方がいいけど。
>96 それわかる。 英語力がないからってローマ字で、なんてやってたらすげぇかっこ悪いもん。 今はいちいち日本語を英訳して分かりやすそうなのにしてるけど、英語ができる人から見たら変な単語使ってると思う。
漢字ですか。タイピング量が爆増するので嫌になったことがあります。
使いたかったらフィルタ通すなりFilterモジュールかませばどうにでもなるからやってみたら?
http://bulknews.net/lib/archives/Filter-Pyuuta-0.01.html っつっても「どこでもポリモーフィズぅ〜」を目指すと、
何気にジェネリックな名前を付けたくなったりするから、
英語で困るってことは少ないけどなぁ。
異様に長い名前もあったけど(笑)
change_element_with_xml_compiled_object_and_its_state()
とか。
99 :
nobodyさん :02/05/26 05:02 ID:PkjyxO6g
>>96 コメントだけで充分だと思うけどな、
あと、コメントをローマ字と変な英語のやつ困る、
data number とか、しちゃうやつ、
dataの順番か、個数かわからん
>>53 はげしく同意!
>>59 はげしくわらた
>>10 C-BOARDのソースは、とりわけ綺麗という訳でもないとは思うけど、
昔随分と勉強させてもらったよ。
確かにHTMLはカスだとは思うけどね。
なんかトラブルあったみたいで、元作者はもう開発やめてるみたいだね。
101 :
59 :02/06/08 16:03 ID:XPfmb/Ca
ちにみに、その話Perlでは無くて、6502のアセンブラだったよ、 65系、680x系って、気を使って書かないと、非常に読みずらいんだよね
102 :
山崎渉 :03/01/15 13:53 ID:???
(^^)
6802はメモリにストアしてロードして計算の果てしない繰り返し。 6809はパズル。書き方によって2割りは効率がかわる。 68000は逆にすっきりしてて、直交具合がよくて レジスタがデータだけで8本あるから直感で書ける。 このスレ読んだ感想。。 単体モジュールテストぐらいはやろうぜ!
104 :
山崎渉 :03/03/13 17:40 ID:???
(^^)
105 :
山崎渉 :03/04/17 12:17 ID:???
(^^)
106 :
山崎渉 :03/04/20 06:17 ID:???
∧_∧ ( ^^ )< ぬるぽ(^^)
107 :
山崎渉 :03/05/22 02:18 ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
108 :
山崎渉 :03/05/28 17:11 ID:???
∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
__∧_∧_ |( ^^ )| <寝るぽ(^^) |\⌒⌒⌒\ \ |⌒⌒⌒~| 山崎渉 ~ ̄ ̄ ̄ ̄
>>84 ワラタ
ところではなしは変わるけど、携帯ゲーム機"プレイステーションポータブル(PSP)
このPSPは、新規格UMD(ユニバーサルメディアディスク)というディスクを利用しており、そのサイズは直径6cmととても小さい(CDの半分程度)。 容量は1.8GBとなっている。
画面は4.5インチのTFT液晶で、480px x 272px(16:9)。MPEG4の再生やポリゴンも表示可能。外部端子として、USB2.0とメモリースティックコネクタが用意されているという。
この際、スク・エニもGBAからPSPに乗り換えたらどうでしょう。スク・エニの場合、PSPの方が実力を出しやすいような気がするんですが。
任天堂が携帯ゲーム機で圧倒的なシェアをもってるなら、スク・エニがそれを崩してみるのもおもしろいですし。かつて、PS人気の引き金となったFF7のように。
突然変な事言い出してスマソ・・・・
GBAと比較してみてどうなんですかね?(シェア以外で)
∧_∧ ( ^^ )< ぬるぽ(^^)
∧_∧ ∧_∧ ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。 =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕 = ◎――――――◎ 山崎渉&ぼるじょあ
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
114 :
nobodyさん :04/03/30 00:21 ID:Et1WRFOC
復活を期待してあげてみる
115 :
nobodyさん :04/03/30 18:49 ID:+0Zs5qfc
>1 今更だけど * use strictしてること(-wTは任意) って開発時だけで十分だし、指定しても動きエラーも無い事って書いた方が良かったな。 #use strict は nifty 等に配慮して公表時には省くって言ってた人も居る。 まあ指定しておいたら誰かがログから 作者の気付かなかったエラー提出してくれるかもしれないけど稀だし。
117 :
nobodyさん :04/03/31 03:20 ID:eTtz6haw
Perlのサブルーチンの書き方って、例えば #サブルーチン名適当、途中処理略 sub login{ get_query(); } sub get_query{ end(): } sub end{ exit(0); } のような、つまり処理の最初から最後まで サブルーチンからサブルーチンへ飛び回るようなのは解りづらい? 以前はこういう作り方してたんだけど、 ある日思い直してメインとなる処理部分を作って、 それぞれのサブルーチンの返り値を受け取りつつ(一部除く) 順番に進めていくように最近は作り始めたんだけど。
119 :
nobodyさん :04/03/31 05:49 ID: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();
}
同じ事をやるのにも可読性・抽象性・再利用性を考えて書くと
オブジェクティブなコードになってくるんじゃないでしょうかね。
>>120 見事にzipの内容が再帰しているのはギャグですか?
123 :
nobodyさん :04/05/16 15:07 ID:AvZsWZrL
age
CGI.pmを使ってPOSTする方法を教えてください。
<form action="CGI.pm" method="post">
126 :
nobodyさん :04/10/21 02:48:18 ID:DbaR8cSm
あげ
127 :
nobodyさん :05/01/09 12:37:31 ID:uD8+xJLM
日本のperlはみんなめちゃくちゃだよ。。 みんなtDiaryを読めー
更新されていることは美しいのか?
129 :
nobodyさん :05/01/10 04:16:29 ID:gXtmp04s
>>52 激しく同意。
チームでやるなら、言語依存の記述で凝って短くスマートに書かれるより、
コメントが多く平易な流れのコードが扱いが良い。チームには、いろんな
レベルのやつがいるからな。読み手もいろいろということだ。
あまり、凝って美しくすると読めないやつが増える。
また個人で使うCGIは、strictにしたり、my関数を使ったりするのは
自由だが、広くCGIとして配布するならPerl4でも動くように書いて、
パスのデフォルトはオールドな/usr/local/bin/perlなんてこともある。
結局ここで言う美しさなんて、オナニーなんだよ。プログラマの。
130 :
nobodyさん :05/01/10 16:03:18 ID:OenI9N/y
>>129 「わかりやすい」ことも美しさの1つだろ。
わかりやすいだけじゃ美しくは無いがな。
>>130 わかりやすいだけではないと思うが
わかりやすさは大半を占めてると思う
いまだにPerl4使ってる奴なんているの? 最後の安定バージョンのリリースは12年前の1993/2/5だぞ?爺はいらね。 ついでに煽っておくと「(俺様が)わかりやすいように書いた」なんつーコードは 冗長で遅い糞コードの代表みたいなものなので短くて速いコード書けや。
133 :
nobodyさん :05/01/10 23:42:15 ID:gXtmp04s
>いまだにPerl4使ってる奴なんているの? 使っている奴はいないが、Perl4をいまだ 使っているプロバイダはあるので、目的により そういう書き方で配布するケースもあるだろう。 「(俺様が)わかりやすいように書いた」 おい、逆だ。チームがわかりやすいようにと 書いてあるんだが。文脈を読めないやつだな。 あと、お前が勘違いしているのは短いコードが 早いとは限らないということ。 抽象化したコードはより簡潔になるが、速度は犠牲になる ことが多い。 ラクダ本を少し嫁。
134 :
nobodyさん :05/01/11 00:14:45 ID:AE+kb3/p
>>133 どこの誰が「短いコード=美しい」なんて言い出したんだ?
流れを読む限り、お前ってことになりそうだが。
135 :
nobodyさん :05/01/11 01:25:00 ID:QoqQoJmx
>どこの誰が「短いコード=美しい」なんて言い出したんだ? 余計なつっこみかもしれないが、 132,133はどちらもそう書いていないぞ。 誰と聞かれれば、134になるな。完結。
?
\ヽ从// Σ (⌒)ヽ_∧ mてつ ・∀・) <お前。 // YY ヾ\
?
どんなコードでもいいんでバグ出さないでくれ 後で読まなくて済むから
三ヵ月も前の流れにレスされてもなぁ
142 :
nobodyさん :2005/08/25(木) 20:49:34 ID:yNBOcjhz
ざっと斜め読みしただけだが 俺としてはまだ耐えられる範囲かな。 このままの勢いで10倍くらいのサイズになったら楽しそうだが。
use strict について詳しく書いたページないかな。 perldoc以外で。 use strictしろって一文なら何度も見たんだけど いまいちぴんと来ない。 でもせっかくなら綺麗で分かりやすいコード書きたいし。
>>144 「綺麗」の定義にも依るけれど、strict プラグマはコードを「綺麗」に
するものではなく「安全」に保つ手伝いをしてくれるものだから、
そういう切り口のページはいくら探しても無いんじゃないかな。
146 :
144 :2006/04/25(火) 00:03:05 ID:???
>>145 どうもです。そうかーそうだよね。
コードの書き方自体は perlstyle.pod を参考にしてるんだけど。
use strictするとそれまでなかったエラーがたくさん出るから、
それをひとつひとつ解決するついでに
そうすることの意義みたいなものが知りたかったんだ。
でも巷で配布されてるCGIを見るにあまり必要ないことなのかな?
自分はCGI作るためにPerl始めたんで、参考書よりそっちのコードを眺めてるほうが多い。
多人数での作業、または 巨大プログラム開発時における変数の保守のため。 1人規模のプログラムではまだ必要ない。 でもできる限り関数化は目指した方が後々良い
配布 CGI のコードにろくなものがないのは激しくガイシュツ
>>146 えーと
>コードの書き方自体は perlstyle.pod を参考にしてるんだけど。
が、
>でも巷で配布されてるCGIを見るにあまり必要ないことなのかな?
なんでこう思うようになっちゃうのかが分からないんだけど。
もしかして最初から何も考えずに use strict してるとその
ありがたみって分からなくなるのかな? だとすると
use strict しろっていう「一文」て実は有害?
use strict せずにグローバル変数使いまくりな CGI の
改造して地雷踏んだりすれば意義なんていやっていう
ほど痛感するものだと思うんだけどね。
150 :
144 :2006/04/26(水) 17:24:06 ID:???
なんだかアホいレスしていてすみません。 We上の色々な講座的ページを見ながらPerlの勉強をしてるつもりですが use strictした上でのコーディングについてはあまり見つからないんです。 正直、use strictをすることで得られる恩恵についてはほとんど知りません。 「use strictしろというからやってみたけどエラーばっかでこの次どうすりゃいいんだかワカンネ」 「でもしたほうがいいらしい」 ↑この辺をぐるぐるしているw
>>150 なるほど。
use strict の次は「なんでもかんでも my つけろ」かな。
perldoc をあれこれ読めば use strict する理由もエラーの
対処法も分かると思うが、『Perlプログラミング救命病棟』
読むといいかもね。まとまってて扱いやすい。
正直、Perl について Web 上で「ハイレベルではないがモダン
な情報」を手に入れるのは厳しいと思うぞ。
144 は Perl と BASIC 以外の経験あるかい? あれば割とすぐ恩恵が分かりそうな気がするんだけど
>>151 ありがとう。この本知りませんでした。
早速ウィッシュリストに入れたけどとりあえず著書間見てくる
あとlocalとmyについてもっと勉強してきます。
>>152 PerlのほかはJavaScriptくらいです。
DHTMLのために少しいじるくらいで、20行以内のものしか経験なし。
あとはDMonkeyとかDelphiを少し捏ね回す程度。
154 :
144 :2006/04/27(木) 00:34:57 ID:???
153は俺です。 あと誤字 ×著書間 ↓ ○図書館 メンゴ
155 :
nobodyさん :2006/05/14(日) 22:04:32 ID:6NDVp4aa
あげ
ちょしょかん
phpの話をしようよ
158 :
nobodyさん :2009/10/28(水) 16:23:55 ID:KljxNhcv
∧_∧
( ・∀・) | | ガガッ
と ) | |
Y /ノ .人
/ ) .人 < >_∧∩
_/し' < >_∧∩`Д´)/
(_フ彡 V`Д´)/ / ←
>>106 / ←
>>111