トップページ⇒tech
1002コメント330KB

クラス名・変数名に迷ったら書き込むスレ。Part27 [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2016/10/16(日) 08:01:30.20ID:NOg6ZxxU
クラス名、変数名のつけ方に悩んだら書き込むスレです。

命名規則や設計の善し悪しについて議論するのは基本的に禁止。

前スレ
クラス名・変数名に迷ったら書き込むスレ。Part26
http://echo.2ch.net/test/read.cgi/tech/1450622191/
0153デフォルトの名無しさん2016/10/22(土) 18:23:40.26ID:rJrHw2K4
>>150
複雑な業務システムだとオレオレ定義ファイルが複雑化、巨大化してコードよりメンテナンス性が悪くなる
そんなものをメンテナンスするぐらいならハードコードしたほうがまだマシ
モダンな言語ならリビルド不要な拡張方法なんていくらでもあるし
0154デフォルトの名無しさん2016/10/22(土) 18:23:56.20ID:lAgDZlKo
>>150
ステップ数でお給料が増減する文明圏の人たちになんてことを
0155デフォルトの名無しさん2016/10/22(土) 18:37:34.74ID:VPAELI2D
>>153
商用なら音楽データの管理なんかそれこそRDBに置くべき案件

ましてや巨大なプロジェクトなら列挙型なんか論外中の論外だわ
0156デフォルトの名無しさん2016/10/22(土) 18:43:34.46ID:/a8S//3o
>>153
> モダンな言語ならリビルド不要な拡張方法なんていくらでもあるし
例えばなに?
0157デフォルトの名無しさん2016/10/22(土) 18:44:10.43ID:rJrHw2K4
>>155
当たり前だろ
今そんな話はしてない
0158デフォルトの名無しさん2016/10/22(土) 18:45:08.68ID:rJrHw2K4
>>156
class , interface
基本だろ?
0159デフォルトの名無しさん2016/10/22(土) 18:47:55.55ID:VPAELI2D
>>157
RDBに置くのにオレオレ定義とかハードコーディングとかアホなのか
所詮カテゴリなんてマスターデータの一種だろ
そんなものをいちいちハードコードするな
0160デフォルトの名無しさん2016/10/22(土) 18:48:50.40ID:IpUTRyqC
>>152
それはコードが無駄に長くなるだけ
0161デフォルトの名無しさん2016/10/22(土) 18:54:59.13ID:IpUTRyqC
>>74
getElementsByTagName, getElementsByClassName, getElementById 派

>>76-77
querySelectorAll 派

こんな感じ
応用力が高いのは後者、パフォーマンスが高いのは前者
0162デフォルトの名無しさん2016/10/22(土) 18:59:54.45ID:iLkbIGXh
>>161
それすらないんだよね前者は
彼が主張してんのが
getElementsByGenreだったらそうだろうけど
getElementsPopsだからね

ここには巨大な隔たりがある
型と値の違いがある
0163デフォルトの名無しさん2016/10/22(土) 19:00:02.31ID:gYvFPuft
マイクロ秒単位でシビアな応答速度が求められるものならまだしも、たかが音楽管理ツールにパフォーマンスを求めたって仕方あるまいて
マシンパワーの1%も使ってないだろう
0164デフォルトの名無しさん2016/10/22(土) 19:03:01.93ID:gYvFPuft
>>162
ByGenreなら大いにアリだな
getPopsはどう考えても頭おかしい
key-valueで言うところのvalueに紐付けてメソッドを作るとかギャグだわ
0165デフォルトの名無しさん2016/10/22(土) 19:03:46.45ID:rJrHw2K4
>>159
だから今そんな話してないだろ
増え続けるRDBへのクエリをどう管理するかって話で>>150はファイルで管理をすると言っているがそんなことをするぐらいならハードコードしろと言っている
マスターデータをハードコードとかどっから出てきたんだよ
0166デフォルトの名無しさん2016/10/22(土) 19:05:51.49ID:x4x3zU66
>>165
マスターの管理は小規模なら外部ファイル、商用ならRDBにしろって話なんだが

RDBを外部ファイルで管理って頭沸いてんの?
0167デフォルトの名無しさん2016/10/22(土) 19:09:18.63ID:IpUTRyqC
>>162
自分は汎用性と拡張性しか考えてなかった

例えば、>>161で特定の属性名を持つ要素ノード群を得るAPIを拡張したいとする
前者は getElementsByAttributeName を追加し、後者は querySelectorAll で属性セレクタを扱えるように拡張する
特価型APIを増やしていくか、汎用性の高いAPIを一つだけ用意するか、の違い
0168デフォルトの名無しさん2016/10/22(土) 19:10:09.83ID:IpUTRyqC
特価型→特化型
0169デフォルトの名無しさん2016/10/22(土) 19:10:17.82ID:rJrHw2K4
>>164
もしかして根本的なところから理解してないのか?
ここでいうGetPopsのPopsとはgenre=="Pops"のmusicのことじゃないぞ
もっとドメインレイヤよりの定義を持った集合にPopsという名前をつけたものだ
最も単純なシステムではたまたま両者は一致するというだけで現実のシステムではそんなに単純ではない
0170デフォルトの名無しさん2016/10/22(土) 19:10:57.24ID:rJrHw2K4
>>166
だめだ全く理解してない
0171デフォルトの名無しさん2016/10/22(土) 19:14:14.98ID:2RMhh+15
>>169
getpops本人まだいたのかよ
よくあんなアホらしいもんを思いついたもんだな
うちのアルバイトでももうちょいまともなもん作るぞ
0172デフォルトの名無しさん2016/10/22(土) 19:15:38.57ID:wVjPdD/+
>>169
>>89を読み直してこい
0173デフォルトの名無しさん2016/10/22(土) 19:16:45.35ID:yvrzDyTu
↓以下、ゲッポ君の「俺意外全員がバカ、世界のみんなが間違ってる」の主張をお楽しみください
0174デフォルトの名無しさん2016/10/22(土) 19:19:25.85ID:rJrHw2K4
>>172
いつの話してんだ
話題は常に変化するもの
流れを呼んでこい
0175デフォルトの名無しさん2016/10/22(土) 19:20:25.73ID:wVjPdD/+
>>174
それお前の中で変化してるだけじゃねーの
0176デフォルトの名無しさん2016/10/22(土) 19:22:51.88ID:rJrHw2K4
>>173
世界は言い過ぎだけどこのスレ程度のレベルじゃ冗談抜きにその通りだと思うよ
0177デフォルトの名無しさん2016/10/22(土) 19:23:36.80ID:eh8upSc0
さすがに頭おかしい
0178デフォルトの名無しさん2016/10/22(土) 19:29:20.29ID:eh8upSc0
特別何かをするわけでもないただのエイリアスを無闇に増やすな

なんて新入社員研修で教えてることなんだが、なんでこんなことでグダグダといつまでも騒いでんだよ
0179デフォルトの名無しさん2016/10/22(土) 19:29:22.73ID:rJrHw2K4
>>177
だって君ら書き込みみればわかるけどズブのアマチュアだろ?
オレはいちおう金もらってシステム開発してるからね
0180デフォルトの名無しさん2016/10/22(土) 19:30:25.32ID:eh8upSc0
>>179
22で入社してもう今年で37なんだが
0181デフォルトの名無しさん2016/10/22(土) 19:33:12.94ID:rJrHw2K4
>>180
まあそういう人もいるよな
メゲズに頑張ってくれ先輩
0182デフォルトの名無しさん2016/10/22(土) 19:33:59.10ID:wVjPdD/+
>>179
そんな珍しくもなんともないもんで自分が特別だと思いこんでたわけか
バイトを始めた学生か何かか?
0183デフォルトの名無しさん2016/10/22(土) 19:37:48.27ID:eh8upSc0
>>181
メゲるも何も、呆れしか感じんぞ

改めて見てやるが、getPopsの中身の処理を書いてみな
0184デフォルトの名無しさん2016/10/22(土) 19:40:01.84ID:lAgDZlKo
職業プログラマが何かの箔になると思ってる子をいじめるのはそれぐらいにしなさい
0185デフォルトの名無しさん2016/10/22(土) 19:46:56.14ID:rJrHw2K4
>>183
return Music.Where(popsPredicate);

述語は要件と顧客の気分次第で不定な
0186デフォルトの名無しさん2016/10/22(土) 19:48:14.90ID:eh8upSc0
>>185
なるほど
findないしそれに該当する汎用アクセサは?
0187デフォルトの名無しさん2016/10/22(土) 19:54:00.26ID:rJrHw2K4
>>186
Music
0188デフォルトの名無しさん2016/10/22(土) 19:55:53.56ID:eh8upSc0
>>187
うん??
Musicはメンバ等ではなくグローバルに置いてるのか?
ってことはgetPopsもグローバル?
0189デフォルトの名無しさん2016/10/22(土) 20:01:05.09ID:rJrHw2K4
>>188
return Music;
って書けばお気に召すのかな?
こっちはちっぽけなスマホで打ってるんだ
察してくれ
0190デフォルトの名無しさん2016/10/22(土) 20:05:28.90ID:4bv8Zxei
何でもいいけどいい加減もう止めたらどうだろう。

有意義な議論なら俺個人はどんどんやってほしいけど、
今のこれはあまりに下らなすぎる。
0191デフォルトの名無しさん2016/10/22(土) 20:06:13.44ID:eh8upSc0
>>189
それにしてもだなあ。。。
カプセル化の何の意味もない構造に頭痛がして来たが、それはひとまず置いておくにしても
要するにgetPopsはただのエイリアス、ラッパーだろう?

getPopsが作られる前、またはそれを知らないメンバが実装した箇所ではfindが使われてる可能性がある
同じものを取って来るのに2種類以上の取得方法があるのは好ましくない
01921492016/10/22(土) 20:09:05.84ID:nST3ahFj
ごめん>152の言ってる意味が分からない。
自分が周回遅れなのは間違いないんだけれども。

もちろん>127を参照しろということは分かるんだが
127のどこが、ソース中に書かれる文字列をキーとして使う処理の例や説明なの?
0193デフォルトの名無しさん2016/10/22(土) 20:16:35.71ID:/a8S//3o
>>158
リビルド不要?
最近の言語は class や interface とやらでリビルドせずに enum の要素増やしたり GetEnka( ) を追加できるのか?
0194デフォルトの名無しさん2016/10/22(土) 20:20:59.15ID:/a8S//3o
>>192
マジで言ってるならもう少し頑張った方がいいと思う
少なくとも >>127 にはリテラル文字列はないだろ
0195デフォルトの名無しさん2016/10/22(土) 20:22:12.22ID:rJrHw2K4
>>191
カプセル化は十分だよ
たったこれだけのクラスインターフェースからクラスの実装詳細やデータ層の構造までわかるのかい?

始まりはともかく今はもうGetPopsはただのエイリアス・ラッパーではない
ドメインで定義されたなんらかの有用なサブセットを取得するGetPopsと名付けられたメソッドだ
なんらかの有用なサブセットとはドメインの用語でつまりポップスのことだがポップスは単にGenre=="pops"を満たすmusicということではない
また今後ドメインの深化に追従してメソッド名が変わるかもしれないが今はまだGetPopsでよい
GetPopsを使う場面で汎用メソッドを使う事は確かに害悪でプログラマは反省しなければならない
しかしメソッドのみを使い同じ述語をあちこちにばらまくのもまた害悪だ
幸いにも開発環境やアナライザは日々賢くなっている
重複したコードをメソッドに一本化する作業はそれほど手間はかからない
気合を入れて一度やってしまえばその後の述語の変更は一回で済む
しかし述語をあちこちにばらまいたまま放置すれば述語の変更のたびに面倒な作業を強いられる
0196デフォルトの名無しさん2016/10/22(土) 20:25:01.74ID:IpUTRyqC
要するに、単なるラッパーであるgetpopsを提唱したらフルボッコに論破されたから
意味を差し替えて俺は正しいと言い張ってるわけね
0197デフォルトの名無しさん2016/10/22(土) 20:31:33.39ID:rJrHw2K4
>>193
enumはポリモーフィックなクラスファミリに置き換えられるし置き換えるべきだ
クラスファミリーにクラスを追加するのに全体のリビルドは必要ない
GetEnkaが必要になったとして追加するクラスを賢く選択すればリビルドの必要もなくシステムを拡張できる(なにも馬鹿正直に既存のリポジトリに追加する必要はない)
既存のクラスにどうしても追加したい場合は部分的なリビルドが必要になるが全体をリビルドする必要はない
0198デフォルトの名無しさん2016/10/22(土) 20:32:37.44ID:rJrHw2K4
>>196
実にシステム開発的な流れだろう?
0199デフォルトの名無しさん2016/10/22(土) 20:34:43.03ID:IpUTRyqC
>>198
そういうのはただの屁理屈と言う
0200デフォルトの名無しさん2016/10/22(土) 20:39:11.57ID:rJrHw2K4
>>199
というかこの流れもある程度予測してGetPopsを最初にメソッド化したと言っていい
0201デフォルトの名無しさん2016/10/22(土) 20:40:15.05ID:nST3ahFj
>>194
大真面目に頑張った結果なんだが
お前さんの言うとおり、まさに「>127にリテラルはない」としか読めない。

そもそも>149のどこを否定してるの?
0202デフォルトの名無しさん2016/10/22(土) 20:41:14.01ID:eh8upSc0
>>195
そりゃ十数年も新人教育やってりゃ大体の構造は手に取るように分かるさ
先程の例ではMusicインスタンスを直接外部に渡してしまうのがまずい
どうしてもgetPopsを作るなら「汎用アクセサは用意しない」という回答が正解だったんだが

しかし、抽象的な表現で逃げるのは君の良くない癖だな
たまにそういう子も入ってくるけど
0203デフォルトの名無しさん2016/10/22(土) 20:43:22.25ID:IpUTRyqC
>>200
中身のコードを書いてみせた時点で想定しきれてないな

まるで中学生の屁理屈じゃあないか
ホントに働いたことがあるのかどうかも疑わしい
0204デフォルトの名無しさん2016/10/22(土) 20:45:42.06ID:rJrHw2K4
>>202
お前が書けと言ったんだろうが〜
というか汎用メソッドをパブリックにした覚えもないしMusicがミュータブルであると言った覚えもないな
これでいいかおっさん?
0205デフォルトの名無しさん2016/10/22(土) 20:48:06.11ID:eh8upSc0
>>204
俺は「汎用アクセサは?」としか聞いてないが

後付けも良くない癖だぞ、君
そういう子は大抵長続きしない
0206デフォルトの名無しさん2016/10/22(土) 20:50:01.78ID:rJrHw2K4
>>205
子供かw
0207デフォルトの名無しさん2016/10/22(土) 20:50:53.25ID:smXSLIN9
200 : デフォルトの名無しさん 2016/10/22(土) 20:39:11.57 ID:rJrHw2K4
>>199
というかこの流れもある程度予測してGetPopsを最初にメソッド化したと言っていい

↑さすがにワロタわw
キミ、いじめられっこの経験あるやろw
泣いてないモン!って言いなれてるなさすが
0208デフォルトの名無しさん2016/10/22(土) 20:52:35.58ID:eh8upSc0
>>206
言ってないものを言ったと言い張られても困る
0209デフォルトの名無しさん2016/10/22(土) 20:52:51.02ID:/a8S//3o
>>197
> モダンな言語ならリビルド不要な拡張方法なんていくらでもあるし
って豪語してたのに
> 全体をリビルドする必要はない
ってだけなのな
そんなの動的リンク使えばいくらでもできるわな w
0210デフォルトの名無しさん2016/10/22(土) 20:56:10.95ID:/a8S//3o
>>201
> そもそも>149のどこを否定してるの?
マジで言ってるの?
ちゃんと引用してるんだが...
> ソースにリテラルを直接書くことって、あんまり無さそう
0211デフォルトの名無しさん2016/10/22(土) 20:56:20.59ID:rJrHw2K4
>>207
すまん
子供の頃はいじめっ子だったわ
いわゆる学校のボスザル的チンピラ
0212デフォルトの名無しさん2016/10/22(土) 20:58:24.55ID:rJrHw2K4
>>209
そうだよ
適切に処置すればリビルドなしでシステムを拡張できる
幾らでもできるからさっきそう言ったじゃん?
0213デフォルトの名無しさん2016/10/22(土) 21:00:10.95ID:xVGM3Eif
リビルドしてんじゃねーか
0214デフォルトの名無しさん2016/10/22(土) 21:04:05.92ID:nST3ahFj
>>210
ますます分からん

「ソースにリテラルを書くことはない」という主張の否定として
「ソースにリテラルは書かずにこうする」という例を挙げるのは、
話の流れとして成立するの?

議論とかディベートとか、あんまり学んでこなかったからなあ。
すまん
0215デフォルトの名無しさん2016/10/22(土) 21:15:11.07ID:NG/YSHI2
>>212
いやリビルドしてんだろカス
0216デフォルトの名無しさん2016/10/22(土) 21:19:28.67ID:OSlnnavW
>>214
周回遅れ
って言う言葉もわからんの?
> 「ソースにリテラルを書くことはない」という主張の否定として
否定なんてしてないぞ
まだそんなこと言ってるのかよ
って言ってるだけ
ディベートとか以前にまず正しい日本語を学ぶべきかと
0217デフォルトの名無しさん2016/10/22(土) 21:19:28.86ID:vcedYMQM
あのさあ、おまえらタグって言葉は知ってるんだよな?
0218デフォルトの名無しさん2016/10/22(土) 21:20:47.17ID:OSlnnavW
>>212
はいはい、嘘つきはもう来なくていいから
0219デフォルトの名無しさん2016/10/22(土) 21:39:06.58ID:nST3ahFj
>>216
ああそういうことか、すまんかった
0220デフォルトの名無しさん2016/10/24(月) 10:20:14.55ID:UouFXqTF
>>54から話広がり過ぎワロタ
0221デフォルトの名無しさん2016/10/24(月) 10:48:41.37ID:fQGKWk+u
基本外野が喚くところですし
0222デフォルトの名無しさん2016/10/24(月) 12:44:29.11ID:83bvzfHf
画面遷移メソッドの名前なんですがどちらが優れていますか???

openXxxWindow(p)
openYyyWindow(p1, p2)
openZzzWindow()

openWindow("Xxx", p)
openWindow("Yyy", p1, p2)
openWindow("Zzz")
0223デフォルトの名無しさん2016/10/24(月) 12:46:27.62ID:+WgIUVwT
>>222
それ名前の問題じゃないだろ。
0224デフォルトの名無しさん2016/10/24(月) 13:00:17.56ID:csInVVUs
>>222
完全にアルツハイマーだな。
0225デフォルトの名無しさん2016/10/24(月) 13:37:47.14ID:fQGKWk+u
>>222
Xxx, Yyy, Zzz, p, p1, p2の補足が欲しい
0226デフォルトの名無しさん2016/10/24(月) 15:21:51.22ID:pKBfRUrb
>>225
Xxx, Yyy, Zzzは画面名で英語の文字列です
p, p1, p2は次の画面に渡すパラメータで画面によって異なります
0227デフォルトの名無しさん2016/10/24(月) 15:28:35.97ID:5ENMhkpM
>>1
> 命名規則や設計の善し悪しについて議論するのは基本的に禁止。

そもそもこれしか話すことないのになぜ禁止したし
0228デフォルトの名無しさん2016/10/24(月) 15:50:27.65ID:fQGKWk+u
>>227
xyz座標と思ったわw
Win32APIならCreateWindowってのがある
0229デフォルトの名無しさん2016/10/24(月) 15:56:52.07ID:+RICRJtL
てめえみたいなゴミがギャーギャー喚いてうぜえからだよ
0230デフォルトの名無しさん2016/10/24(月) 16:11:48.75ID:Gldo3h3g
>>226
正直、画面の基底クラスを作って各画面を継承で実装した方がスッキリ書ける案件だと思うけど…

どうしてもopenWindowで実装したいなら後者で
似たような動作をする関数(win標準のcreateWindow)が既にあるなら使い方も同じ感じにしたほうが分かりやすい
0231デフォルトの名無しさん2016/10/24(月) 16:20:55.50ID:f1Oob2xq
幼稚なバカが悪乗りして悪ふざけでやってるレスにマジレスする奴も重症だな
0232デフォルトの名無しさん2016/10/24(月) 18:29:15.85ID:wn6/eztm
>>227
名前をレスせず、命名規則や設計の善し悪しのレスしかしないバカがスレを消費するだけで
一向に命名しない流れが続いたから禁止された。
何年も前の話。

ここ最近のテンプレ読めないバカが集まって、やはり一致した結論が出てないのを見て分かるだろ。

このスレは「○○について名前を考えてください」というお題に答えるだけのマジレス歓迎の大喜利スレ。
0233デフォルトの名無しさん2016/10/24(月) 18:34:05.48ID:Ri+KQSou
次スレは議論も禁止したほうがいい
質問者が求めてるのはズバリかヒントのワードであってバカどもの薀蓄なんてお呼びじゃない
0234デフォルトの名無しさん2016/10/24(月) 18:41:13.01ID:Ja2raL71
議論じゃないんだな
戦争なんだな
テーマに対する意見を交わすんじゃなくて
相手に対する攻撃を応酬し合ってるんだから
0235デフォルトの名無しさん2016/10/24(月) 18:45:32.24ID:f1Oob2xq
禁止して実効性があるの?
ないのは明白だよねw

前にも書いたが、テンプレを引用して絡んでくるバカが登場する時としない時があるのは何故?
要するに、本来スレ違いの議論にそいつ自信が参加してる時には現れないのは明白なわけ。

そして、これは個人的な感想(しかし自信はある)だが、実にどうでもいいお馬鹿な「議論」
が続いている時に限ってそのおバカは現れない。まあ語るに落ちてるよね。

要するに、ずいぶん前も書いたけど、「〜禁止」なんてルールはご都合主義のバカに他人のレスに絡む口実を与えて、
かえってスレが荒れる原因を作るだけ。
0236デフォルトの名無しさん2016/10/24(月) 18:52:04.73ID:R8FyZAi8
マウンティング犬は今日も元気です
0237デフォルトの名無しさん2016/10/24(月) 18:55:23.90ID:wn6/eztm
>>235
禁止してないから早速死んでくれていいよ

ってくらい無能な長文だね。
0238デフォルトの名無しさん2016/10/24(月) 18:57:37.38ID:fQGKWk+u
>>235
> テンプレを引用して絡んでくる
って事は「命名規則や設計の善し悪しについて議論」してたんだよな?
その割には「マジレスする奴も重症」って矛盾してね?
0239デフォルトの名無しさん2016/10/24(月) 19:02:36.61ID:f1Oob2xq
>>238
日本語でお書きください
0240デフォルトの名無しさん2016/10/24(月) 20:14:28.55ID:fQGKWk+u
>>239
どこがわからない?
命名規則や設計の善し悪しについて議論してたからテンプレを引用して絡まれたんだろ?
0241デフォルトの名無しさん2016/10/24(月) 20:32:37.69ID:f1Oob2xq
>>240
何を言ってるのかさっぱり意味が分からん。
0242デフォルトの名無しさん2016/10/24(月) 20:42:00.45ID:fQGKWk+u
>>241
そうか
じゃあそのままでいいわ
0243デフォルトの名無しさん2016/10/24(月) 21:19:09.43ID:XjvnPt+s
>>235をサニタイズするよ

禁止して実効性があるの?
ないかもね // 未検証な事柄を主観で断定しない
/* 思い込みと私怨の開陳は全カット */
禁止を押し付けらるのってなんか嫌だし(´・ω・`) // 個人的な感情であると説明しつつAAで和ます
0244デフォルトの名無しさん2016/10/24(月) 21:40:24.47ID:bN8c+nPb
こいつの言語サニタイズしたほうがいいな
0245デフォルトの名無しさん2016/10/24(月) 21:59:58.35ID:PrHBZIpa
このくっそ下らねぇやりとりで200レスも消化するとか底辺はやることが違うなと思う
0246デフォルトの名無しさん2016/10/24(月) 22:17:53.78ID:mxK0EHtA
こんな塵芥と一緒にするとか底辺に失礼だろ
0247デフォルトの名無しさん2016/10/25(火) 05:19:39.47ID:OZkbpJ7G
設計の善し悪しまで踏み込んでるのにタグ知らなかったんだぜ。
0248デフォルトの名無しさん2016/10/25(火) 07:34:03.48ID:MZfG2R+8
この場合のタグって何?
0249デフォルトの名無しさん2016/10/25(火) 08:05:43.55ID:zO0NytLF
値札のことだよ
0250デフォルトの名無しさん2016/10/25(火) 09:19:12.44ID:g86pOwEK
サイズだろ
0251デフォルトの名無しさん2016/10/25(火) 09:52:03.08ID:n342IJVH
例えるなら、人が道を聞いてるのに服装や交通ルールから説明してるんだよなあ
でも道順を全く説明できないただの交通ルールオタク
0252デフォルトの名無しさん2016/10/25(火) 09:58:26.93ID:6yXN+QBc
不良品タグはってゴミ置き場にポイが妥当
■ このスレッドは過去ログ倉庫に格納されています