X



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

最低条件
* use strictしてること(-wTは任意)
* 変数、サブルーチン、メソッドには意味のある名前を割り当てていること
* 更新されていること
* 作者と連絡がとれること(メアド、更新されているWebサイト)
0003美しいコードを愛でる会
垢版 |
02/03/19 03:15ID:HVLinBmy
了解。ちょっと反則かもしれないがSlashcode
http://sourceforge.net/projects/slashcode/

適度に短いメソッドとアプリケーションとしての完成度に好感。
オープンソース物には珍しくドキュメントが比較的充実している。
なによりデータベースのER図が添付されている辺り、
乙女パスタに感動ってな感じ。
0004美しいコードを愛でる会
垢版 |
02/03/19 03:20ID:HVLinBmy
こんどはCGIスクリプトでUseModWiki
http://www.usemod.com/cgi-bin/wiki.pl

オリジナルのWikiはシンプルだが汚い部類に片足突っ込んでるが、
UseModWikiは頑張ってる方。
冗長な部分とちょっと無理してApache::Registry対応した感はあるが許せる範囲。
もちろんmod_perl下ではバカっ早。
0005nobodyさん
垢版 |
02/03/19 03:39ID:???
>1
>use strictしてること(-wTは任意)
おれレベルならこんなのいちいち書かなくてもキッチリ宣言してるから
どうやらオマエとはレベルが...
0006美しいコードを愛でる会
垢版 |
02/03/19 03:46ID:???
>>5
そう、オレはヘタレでしょっちゅうミスをする。
自分の作業を信用していないからuse strictする。
そして結局楽になる。

もちろん他人のコードを触る時もミスをする。
でもそのコードがuse strictしてない/したら凄いことになるコードだったら
そもそも手を付けない。
0007nobodyさん
垢版 |
02/03/19 04:18ID:???
>>5
きっちり宣言していようが、書いておくべきだろう。
0008nobodyさん
垢版 |
02/03/19 07:29ID:WphNZTP7
use strict;?
require './config.cgi';してるからしないよ。
0009nobodyさん
垢版 |
02/03/19 09:38ID:???
俺は最近はstrictと-wなしでコーディングなんて出来ないよ。
ずいぶん長いあいだ-wは不要、とか思ってたが、一度有用性に気づくともう手放せないね。
0011nobodyさん
垢版 |
02/03/19 10:15ID:???
>10
クソサイトばっかり張るなって(藁
管理人の自作自演か?
0012nobodyさん
垢版 |
02/03/19 11:17ID:???
なんで -w だと一度だけ出てくる変数が警告されるの?

一度だけ出てくるもの
セットする前に使用されるスカラー変数
複数回定義されるサブルーチン
サブルーチンの再帰が 100 以上

このへんが警告喰らうのも分からん。
0013nobodyさん
垢版 |
02/03/19 11:17ID:WphNZTP7
あげとこう
0014nobodyさん
垢版 |
02/03/19 11:23ID:???
>>12
一度だけでてくる変数が警告されるのは、typoの可能性があるからじゃないかな?
サブルーチンの再帰が100以上ってのはすごいな。見たことないけど警告したいね(笑)
サブルーチンを複数回定義するんだったら別のものにした方が安全という思想があれば警告すると思う。
セットする前に使用されるスカラー変数にも警告でると思うけどな(笑)

てなかんじですが?
0015nobodyさん
垢版 |
02/03/19 11:35ID:WphNZTP7
> 一度だけでてくる変数が警告されるのは、typoの可能性があるからじゃないかな?
typoの意味が分からんかった。googleすると「タイプミスのこと」とな(^^;
なるほど。そういう意味なら納得。

変数のセットする前,というのは my とかで宣言する前,という意味ですか?
0016nobodyさん
垢版 |
02/03/19 11:48ID:WphNZTP7

-w 1 度しか使われない識別子、設定される前に使われている変
数に警告を出します。 サブルーティンの再定義、未定義の
ファイルハンドルの参照や、read-only でオープンしたファ
イルハンドルへの書き込みにも警告を出します。 また、数
値に見えない値を数値として使った場合、配列をスカラであ
るかのように使った場合、100 段階以上のサブルーティンの
再帰、その他たくさんの事に警告を出します。 perldiag
manpage と perltrap manpage を参照してください。

なるほど。空の変数をprint とかで呼び出してる場合に警告するのね。
001710
垢版 |
02/03/19 13:05ID:???
>>11
いや、自演なんてしないよ。
日本でいいのってなんかある?
0019nobodyさん
垢版 |
02/03/19 22:05ID:???
>>10の評価(適当)

> 1:ttp://www.h14m.org/
システムが巨大すぎて読む気が起こらず。
とりあえずイメージキャラクタが痛い。

> 2:ttp://www04.u-page.so-net.ne.jp/yd5/wing/support/
HTMLが糞なのでダウソしなかった
> 3:ttp://skully.lib.net/c-board.shtml
HTMLが糞なので以下略。
0020nobodyさん
垢版 |
02/03/19 23:32ID:???
全部Perlスクリプトのコードとしての評価じゃないな。
まあ、CGIとしてはHTMLは重要か。
0021nobodyさん
垢版 |
02/03/19 23:44ID:???
でも、2も3もスキン機能があるんだから、使う側がいかようにもすれば良いんじゃないか?

で、ageとくか。
002219
垢版 |
02/03/19 23:56ID:???
ファイルが10枚以下でHTMLがそこそこまともならソース読むぞー。

0023nobodyさん
垢版 |
02/03/20 00:01ID:???
美しいコードって、実際どういうコードのこと言うんだ?
0025nobodyさん
垢版 |
02/03/21 00:26ID:???
>>23

ぱっと思いつくのはこんな感じかな。

*一貫性のあるコーディングスタイル*
 趣味や職場によってかわるが、perlstyle.podに近ければとりあえず良し。
*一貫性のあるインデント*
 インデントすらしてない奴有るんだよね。。。
*メソッドの行数は10行未満が望ましい*
 チョー長いサブルーチンや、サブルーチンにすらしてないようなコードはX
*意味のある名前を使っていること*
 1も出してたけど意味の無い変数名を付けない。
 メソッド名は宣言的な名前を使う。多少長くても問題なし。
*無意味な省略形の名前を使っていないこと*
 ループ内の $i は許そう。
*同じことを複数の場所でやっていないこと*
 コピー&ペーストで書いたコードはこうなってるのが多い。
 ある機能を変えたいときに複数の場所を変えなければいけないコードは×
*Perlの機能を有効活用していること*
 配列の要素を全部舐めるのにCっぽいことしたりしない。mapもgrepも上手く使え。


逆に「こーいう書き方されるとムカツク」ってのは挙げやすそうっすね。
002625
垢版 |
02/03/21 00:32ID:???
忘れてた。

*スコープを意識していること*
 my $hoge = 'hello world'
 sub function {
     substr $hoge, 6, 5;
 }
 とか、無駄にスコープを跨いで変数使われたりするとスゲー読みにくくなる。
 mod_perlでヤナ思いするし。
0027nobodyさん
垢版 |
02/03/21 09:52ID:FXfspbxz
ゆいチャットのコードが評価される点は「改行を極力減らした」って点だけなの?
0029nobodyさん
垢版 |
02/03/21 15:30ID:???
っていうか、>>1とか>>25の書いてることを満たしてるPerlスクリプトは、もう無いのか?
>>10で書いたものだけか?
情けないな。
0032nobodyさん
垢版 |
02/03/21 20:12ID:???
(´-`).。oO(なんで Perl の時点で綺麗なんてありえないってことに気付かないんだろう・・・)
0033nobodyさん
垢版 |
02/03/21 20:19ID:???
(´-`).。oO(Perlでも「マシ」な方のスクリプトを挙げようという趣旨なのでは・・・)
0034nobodyさん
垢版 |
02/03/21 20:37ID:???
-wは必須だろ。
まあ、警告吐くモジュールもあるから、本番稼動中は無しにしても、
テストではつけるべし。
0035nobodyさん
垢版 |
02/03/21 22:20ID:???
>>32
じゃあなんだときれいなソースできるのかな?
COBOL?FORTRAN?BASIC?ASM?
0036nobodyさん
垢版 |
02/03/21 22:22ID:dJmFvqS+
スーパーレンタルサーバー誕生!ホームページ作りには当サイトをご利用ください。
http://www.web-free.info
CGI・SSI制限なく使用可能です。

0037nobodyさん
垢版 |
02/03/21 23:00ID:???
>>35
Cを敢えて外しているのには何か意図が?
0038nobodyさん
垢版 |
02/03/21 23:05ID:???
>>37
そもそもきれいなソースなんかあり得ないから。
0039nobodyさん
垢版 |
02/03/22 00:16ID:???
>>38
君の美的感覚は疑わざるを得ない。

とか書いて思ったけど、人によって価値観違うから
あまり強くはいえないよね。
0040nobodyさん
垢版 |
02/03/22 08:35ID:vhJfDKGC
>>35

「きれいなソース」でCGIを書くなら、RubyかDelphiでしょう。
0041nobodyさん
垢版 |
02/03/22 09:51ID:5zrp8DGK
いいコードを見るといろいろ参考になるねー。
php もいい?
0042nobodyさん
垢版 |
02/03/22 09:55ID:jHjSEJvi
コメントのないソースはどんな言語でも糞。
0043nobodyさん
垢版 |
02/03/22 10:06ID:5zrp8DGK
関数にコメントつけるときは,
その関数がどういう関数なのかという説明と,
引数や戻り値の説明もあったほうがいいのかな?
0044nobodyさん
垢版 |
02/03/22 11:01ID:2zj+wCNW
>35>40 君達の美的感覚は調整が必要です。 最適解は scheme
0050nobodyさん
垢版 |
02/03/22 20:50ID:???
きれいなコードを書けているつもりになれる言語だね。
0052nobodyさん
垢版 |
02/03/22 20:54ID:???
>>50
普通ソースなんて人に見せるものじゃないから、
自分一人でうっとりしていればいいんだよね。
グループやチームでソース書く必要あるんだったら、
美しさというより、ほかのメンバーにわかりやすい内容で書けばいいのであって、
結局美しさになんの意義も意味もないね。
ソースではなく、完成したものの出力が美しく、処理が機能的であればよいのであって、
ソースが美しいかどうかなぞと言うことは、手段の目的化以外の何者でもない。
0053nobodyさん
垢版 |
02/03/22 21:14ID:???
>>52
漏れは、美しさ=わかりやすさだと思うな。
トリッキーなコードばっかり書いてる奴は逝ってよいよ。
0054nobodyさん
垢版 |
02/03/22 21:17ID:???
>>53
それを美しさと感じる人もいるけどね。
0056nobodyさん
垢版 |
02/03/23 00:02ID:???
一度トリッキーなコードの魅力に触れると
普通にしっかりと書いてあるコードが冗長に見えていかん
005753
垢版 |
02/03/23 00:06ID:???
>>54,56
いやぁ、自分で書いて自分でうっとりする分にはいいんだけどね。
ム板のトリッキースレとか好きだったし。
ただ、それを(略
0059nobodyさん
垢版 |
02/04/09 23:33ID:/gHRipFv
前の会社で、
「あいつのソース、綺麗なんだけど、動かないんだよなぁ〜」
って人いたよ。
0061F11
垢版 |
02/04/10 21:12ID:RNZ++qE3
なんつーか、死ぬほどサブルーチンだらけのソースはどうですか。
全体の8〜9割がサブルーチン。
0062nobodyさん
垢版 |
02/04/10 22:01ID:???
>>61
ああ、そういうのよくあるよね。
最初に
&read
&html
&end
みたいな感じで、あと全部サブルーチンなの。
俺は嫌い。だって重複して使われてるわけでもないのに意味ないじゃん。
しかも読みにくいよ。
0063nobodyさん
垢版 |
02/04/10 22:06ID:???
>重複して使われてるわけでもないのに意味ないじゃん。
恥ずかしい。

>しかも読みにくいよ。
恐らく、あなたのソースコードのほうが読みにくいでしょうね。
0064nobodyさん
垢版 |
02/04/10 22:09ID:???
mod_perlを使うとき、main()等を設けるほどの几帳面さが役に立つ。
0065美しいコードを愛でる会
垢版 |
02/04/10 22:25ID:9zLUZHR0
>>61
>>62
そーいうのが困るんだなこれが。

処理のブロック(固まり)ごとにサブルーチン化して、
やっていることを表す適切な名前を付るのが王道。

コメントつける暇あったら、
サブルーチン化して適切な名前を付けて下さい。
# このへんは「リファクタリング」を見よって感じ。
0066nobodyさん
垢版 |
02/04/10 22:32ID:EI+45BxU
>>63
激しく同意。

>>しかも読みにくいよ。
>恐らく、あなたのソースコードのほうが読みにくいでしょうね。
ここらへんが特に。

サブルーチン入れて読みにくいなんて逝ってる奴なんて
長大スクリプト組んだ事無い奴くらいじゃないの?
0067美しいコードを愛でる会
垢版 |
02/04/10 22:51ID:9zLUZHR0
なぜサブルーチン化するのか?

何度も利用するからってのも理由の一つだけど、

 - その処理ブロックに名前を付けることで処理内容を予測しやすくする。
 - スコープを狭めることで変更に伴う影響範囲を小さくする。

ってのがあると思う。
スコープを狭めるってのは実は重要で、
これをやっていないコードはある部分を変更したいんだけど
それ以降の(含むそれ以前の)コードにどう影響が生まれるかが
とても分かりにくくなってしまう。

まぁ自分で自分用のコード書いているうちは
こーいう問題にあうことはないんだろうけど。
0068F11
垢版 |
02/04/10 23:01ID:RNZ++qE3
自分もサブルーチン作りまくり派なんですが、
細かくしすぎかなぁ感もあって、どこまでやっていいものか。
たとえ2,3行のソースでも色々な場所で使いまわす場合はサブルーチン化したりしてます。
入れ子になってたりもします。
極例ですが下記みたいな流れになってたりします。
自分では見やすいんですが、ちょっと肥大化してる感がいなめませぬ
やっぱ入れ子入れ子にしすぎると処理的に重くなりますか?


----------------下記----------------------------

&a0();

aub a0{
&a1();
&a2();
}


sub a1{

}

sub a2{
a3();
}

aub a3{

}
0069nobodyさん
垢版 |
02/04/10 23:05ID:???
a1とかの名前だとアレだけど、
役割がしっかりと分担されてるなら構わないと思う。(俺は)
007063
垢版 |
02/04/10 23:13ID:???
俺は長いソースのこと言ってんじゃねーぞー。
30行のソースでもサブルーチン化しちゃうやつが同じクラスにいるー。
大嫌いだーーー!!
普通に書けバカー!読みにくいんだよ!!このサブルーチンヲタが!!

と言い訳してみるテスト
0071nobodyさん
垢版 |
02/04/10 23:19ID:???
>70
番号間違ってるよ・・・
007262
垢版 |
02/04/10 23:24ID:???
>>71
うるせーばかー!!
しかもな○橋!おめーのソースはなー。最初に
&read
&html
&end
#て書いてるのにその下のサブルーチンの順番があべこべなんだよーー!
sub html {
}
sub read {
}
sub end {
}
#読みにくいんじゃボケー!!おまえとチーム組まされてる俺の身にもなってみろー!
#何がオブジェクト指向化だよん(はぁーと)だ!氏ねえええええ!!
0073美しいコードを愛でる会
垢版 |
02/04/10 23:39ID:???
>>72
サブルーチンの名前が適切かどーかって話はさておき
順番なんぞ検索すれば良いから重要じゃないね。
viで
/sub name
とか打つだけっしょ?
まともなエディタとそのエディタの使い方を覚えましょう。
0074nobodyさん
垢版 |
02/04/11 00:16ID:93K8BGh2
順番は気にした事ないな。。
0075nobodyさん
垢版 |
02/04/11 00:17ID:???
&を付けるのはいかがなものかと。
0076nobodyさん
垢版 |
02/04/11 00:48ID:???
>72
文脈から推察すると、超初心者のカジリたてって感じ?
プログラミングを理解してないくせに自分の思いこみだけで一方的な自分の意見を
ごり押しする人。
自分のレス番号間違ってることからしてもおっちょこちょいさん。
痛々しいネ!
0077nobodyさん
垢版 |
02/04/11 00:49ID:tSMOjiFh
endとかってサブルーチン名にできたんだ?
0078Name_Not_Found
垢版 |
02/04/11 00:50ID:2Njp9iOK
& はあまり良くないの??初耳っす

0079nobodyさん
垢版 |
02/04/11 00:55ID:???
read( )って書く方が普通だべ?
&はオヤジくさい。
0080nobodyさん
垢版 |
02/04/11 01:25ID:???
>79
わたしの場合は、必ず & つかってしまうくせがついているが、現にわたしは
オヤジだからOKってことね。安心した。
ただ、すでに関数として用意されている read などをサブルーチン名に使うの
には抵抗があるなー。
ところで & を付けるのはやめたほうがいいみたいなことってなんかの本にでも
載ってるの? たまにそう言う人がいるけど今まで受け流してきたからハッキリ
とした理由が知りたいなー。
なんとなく namazu臭 がするのはわたしだけ?
0081nobodyさん
垢版 |
02/04/11 01:49ID:???
Perl5の時代になって久しいが、今時サブルーチンの呼び出しに&を付ける
なんて書いてある本あるのか?リファレンス使うときしか出てこなくないか?
0082nobodyさん
垢版 |
02/04/11 02:11ID:8LiumuzI
グラブとリファレンスってどう違うんですか?
サブルーチンにどっちで渡せばいいの?
008480
垢版 |
02/04/11 02:27ID:???
>81
今時の本に書いてないというだけのことで、やめたほうがいいということでは
ないということなんだね。了解!
一般関数と区別する意味でも使ったほうがむしろ読み易い気がするのはわたしだけ?
わたしの場合、&をつかわないときといったらシグナルハンドラにセットするとき
ぐらいかな?
ラクダ本には引数なしのサブルーチンは & を使うことで効率がよいとある。

0085nobodyさん
垢版 |
02/04/11 09:17ID:???
おまえらラクダ本くらいちゃんと読めよな。
0086nobodyさん
垢版 |
02/04/11 09:36ID:???
>&をつかわないときといったらシグナルハンドラにセットするときぐらいかな?

マジかよ。俺が&を明示的につけるのは

・シグナルハンドラの設定
・オーバーロードメソッドの設定
・スタックをそのままで呼び出し(&foo;)
・リファレンスの取得(こりゃ言語的制約だからしょうがないが。)

てな感じだが。
ビルトイン関数はどうせ色でわかるし。
0087nobodyさん
垢版 |
02/04/11 17:58ID:???
&が親父臭いって意味がわからん
0089nobodyさん
垢版 |
02/04/11 19:18ID:???
書いても書かなくても変わらない場面では、書いても意味が無いって意味では同意。

おれは書かない派。
(カッコ)も省けるところは省いちゃう派。
0090nobodyさん
垢版 |
02/04/24 20:22ID:kwCa0Ndo
関数やメソッドの名前でこんな風にしとけってのあるかな?
例えば、何かを確認するような関数ならis****にしとけとか
0091nobodyさん
垢版 |
02/04/28 02:48ID:caIzyTmE
>90
自分は真偽が返り値になるメソッドをis***にしてる。
あと決めてるのはprintみたく返り値を期待しない関数をdo***とするくらい。
0092nobodyさん
垢版 |
02/04/28 14:02ID:???
>90, 91
チョット認識がずれてる部分もあるが、それって今ではオブジェクト指向の
言語では普通にやられていること。

形式としては、動詞+目的語 のような感じ。目的語は省略する場合もあるが、
もしあれば先頭は大文字が一般的。

オマエらを殺す関数なら killYou とかね。
0093nobodyさん
垢版 |
02/04/28 20:29ID:???
>>92
ちなみにPerlではキャピタライズは普通しなくて

$厨房->kill_you()

が普通な。
perldoc perlstyle
009593
垢版 |
02/05/03 00:51ID:???
>>94
あっ、好い返し方(笑)
0096nobodyさん
垢版 |
02/05/18 08:49ID:???
>>94
変数に漢字が使えたら可読性が上がるような気がする。(やはり表意文字?)
制御文とかは、むしろ英語の方がいいけど。
0097nobodyさん
垢版 |
02/05/21 13:40ID:???
>96
それわかる。
英語力がないからってローマ字で、なんてやってたらすげぇかっこ悪いもん。
今はいちいち日本語を英訳して分かりやすそうなのにしてるけど、英語ができる人から見たら変な単語使ってると思う。
0098nobodyさん
垢版 |
02/05/24 19:56ID:???
漢字ですか。タイピング量が爆増するので嫌になったことがあります。

使いたかったらフィルタ通すなりFilterモジュールかませばどうにでもなるからやってみたら?
http://bulknews.net/lib/archives/Filter-Pyuuta-0.01.html

っつっても「どこでもポリモーフィズぅ〜」を目指すと、
何気にジェネリックな名前を付けたくなったりするから、
英語で困るってことは少ないけどなぁ。

異様に長い名前もあったけど(笑)
change_element_with_xml_compiled_object_and_its_state()
とか。
0099nobodyさん
垢版 |
02/05/26 05:02ID:PkjyxO6g
>>96
コメントだけで充分だと思うけどな、
あと、コメントをローマ字と変な英語のやつ困る、
data number とか、しちゃうやつ、
dataの順番か、個数かわからん
0100nobodyさん
垢版 |
02/05/28 11:48ID:???
>>53
はげしく同意!

>>59
はげしくわらた

>>10
C-BOARDのソースは、とりわけ綺麗という訳でもないとは思うけど、
昔随分と勉強させてもらったよ。
確かにHTMLはカスだとは思うけどね。

なんかトラブルあったみたいで、元作者はもう開発やめてるみたいだね。
010159
垢版 |
02/06/08 16:03ID:XPfmb/Ca
ちにみに、その話Perlでは無くて、6502のアセンブラだったよ、
65系、680x系って、気を使って書かないと、非常に読みずらいんだよね
0103nobodyさん
垢版 |
03/02/23 05:00ID:???
6802はメモリにストアしてロードして計算の果てしない繰り返し。
6809はパズル。書き方によって2割りは効率がかわる。
68000は逆にすっきりしてて、直交具合がよくて
レジスタがデータだけで8本あるから直感で書ける。

このスレ読んだ感想。。
単体モジュールテストぐらいはやろうぜ!
0106山崎渉
垢版 |
03/04/20 06:17ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0107山崎渉
垢版 |
03/05/22 02:18ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
0108山崎渉
垢版 |
03/05/28 17:11ID:???
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0109山崎 渉
垢版 |
03/07/15 11:23ID:???

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
01101 ◆5aiQ5DvWjw
垢版 |
03/07/16 12:07ID:???
>>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と比較してみてどうなんですかね?(シェア以外で)
0111山崎 渉
垢版 |
03/08/02 02:30ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0112ぼるじょあ ◆ySd1dMH5Gk
垢版 |
03/08/02 05:05ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
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
■ このスレッドは過去ログ倉庫に格納されています

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