トップページ > プログラム > 2014年09月04日 > 34rt8A6n

書き込み順位&時間帯一覧

12 位/199 ID中時間01234567891011121314151617181920212223Total
書き込み数3100000000000000000000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
クラス名・変数名に迷ったら書き込むスレ。Part24
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】

書き込みレス一覧

クラス名・変数名に迷ったら書き込むスレ。Part24
756 :デフォルトの名無しさん[sage]:2014/09/04(木) 00:20:45.89 ID:34rt8A6n
>>748
>スレタイからはずれますがクラスの設計が問題ならそこからお願いします。

クラス設計の観点であれば、Messgeオブジェクトの責務(responsibility)は
以下のようなものになると(自分は)考える:
・受信したバイト列をデシリアライズしてインスタンスを生成するコンストラクタ
・メッセージの各要素を読み出すゲッター
・デバッグ用途に人が読みやすい文字列に変換するインスペクタ
要するに、メッセージは状態を持たない不変(immutable)オブジェクトと見る

従ってクライアントの状態を管理するのはMessageではない他のオブジェクトであり、
今回の命名は(Messageクラスではなく)状態管理クラスのメソッドになる
そして、Messageインスタンスはそのメソッドへ渡すパラメタに位置付けられる

ここで状態管理という機能に着目すれば、GoF本のStateパターンが参考になるかもしれない
つまり状態管理オブジェクトはステートマシン(状態遷移機械)というモデルに抽象化され、
現在の状態(current state)と到着した入力イベント(input event)である受信メッセージの種別(=クラス)との
対(pair)から次の状態(next state)と出力イベント列(output event seqence)を導く関数として定義される
あるいは出力イベントの代わりにアクション(action)としてファイルI/Oや画面表示のような手続きでもいい
こうしてクラス設計自身の視点を変えてみると、また別の命名法則が見つかるかもしれない
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
190 :デフォルトの名無しさん[sage]:2014/09/04(木) 00:34:56.55 ID:34rt8A6n
MessagePad(NewtonOS)用の NewtonScript も忘れないであげて....
(ちなみに >>184 の TeleScript は MagicCap用になる)
さてそれはさておき、

>>188
Lua も入れないとなると、スレタイにある PHP や JavaScript の立場も、
「勝負にならない」という意味で微妙じゃないかと思う
ただし Git、SQL、HTML をスクリプトと見なす意見には、断固として拒絶する
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
193 :デフォルトの名無しさん[sage]:2014/09/04(木) 00:47:47.84 ID:34rt8A6n
>>192
ここはPerl/Python/Rubyといった汎用スクリプト言語プログラマが
コード設計の技(わざ)を競うバトルロワイヤルの闘技場だから
(Smalltalk なら、GNU Smalltalk や Little Smalltalk のコードは歓迎したい)

もし反論があるなら、過去のお題について
一つでもSQLでコードを示してからにしなさい
【Python】スクリプト バトルロワイヤル46【pl,rb,php,js】
200 :デフォルトの名無しさん[sage]:2014/09/04(木) 01:05:53.97 ID:34rt8A6n
>>196
>SQLはともかくSQL ScriptはScriptで良いんじゃないか?
>名前にScriptって書いてあるし。

ただ単に、バトル(=コード合戦)へ参加できる言語であることが資格だ

>>193 を繰り返す:
 もし反論があるなら、過去のお題について
 一つでも SQL Script でコードを示してからにしなさい

SQL Script やその他大勢がスクリプト言語ではないとは言ってないし、
スクリプト言語の定義も無関係
もしこれらを話題にしたいのなら、別の雑談スレへ逝くか新スレ立てろ、って話


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。