1: 億ったーがお送りします 2020/05/09(土) 09:09:31 ID:Goe8hO6n0.net
可読性は失われるけど
2: 億ったーがお送りします 2020/05/09(土) 09:10:49.764 ID:m8QoIQhV0.net
いかにテストしやすく書くゲーム
3: 億ったーがお送りします 2020/05/09(土) 09:10:57 ID:SGghYKIX0.net
ゲームではない
機械が読みやすいマニュアルを書く工程である
4: 億ったーがお送りします 2020/05/09(土) 09:12:59 ID:Goe8hO6n0.net
関数化していくと可読性はガチでなくなる気がする
引数がわけわからない事になる
ぶっちゃけ書いてる俺ですら理解してない
とりあえず動けばヨシ
5: 億ったーがお送りします 2020/05/09(土) 09:14:26 ID:qigmLhBJ0.net
最近はいかにモデリングするかゲーム
6: 億ったーがお送りします 2020/05/09(土) 09:14:48 ID:ekbNdA4m0.net
引数が多過ぎるってことは一つの関数に処理機能を持たせすぎなのでは?
9: 億ったーがお送りします 2020/05/09(土) 09:18:25.898 ID:Goe8hO6n0.net
>>6
引数が多過ぎるというのではなく
引数が意味不明な事になっている
条件(式) func(xyz_var/8-1,hoge_var/8+50);
条件(式) func(xyz_var/8-1,hoge_var/8+50);
…
一目で何書いているのかがわからない。俺もわからない
14: 億ったーがお送りします 2020/05/09(土) 09:24:31 ID:ekbNdA4m0.net
>>9
なんで引数の中で計算しちゃってるの?
計算した後の変数渡しちゃダメなの?
17: 億ったーがお送りします 2020/05/09(土) 09:27:28 ID:Goe8hO6n0.net
>>14
こんなのまだ見やすい
条件(式) func(xyz_var/xyz_co-xyz_in,hoge_var/hoge_co+hoge_in);
条件(式) func(xyz_var/xyz_co-xyz-xyz_in,hoge_var/hoge_co+hoge_in);
…
数字が出てこない
23: 億ったーがお送りします 2020/05/09(土) 09:30:47.804 ID:Goe8hO6n0.net
>>19
まだわかりやすい
>>17でconst
26: 億ったーがお送りします 2020/05/09(土) 09:33:20 ID:uCB14WZh0.net
>>23
>>17にしたって計算がどんな意味を持つのか示せていないのが間違い
29: 億ったーがお送りします 2020/05/09(土) 09:34:41 ID:Goe8hO6n0.net
>>26
簡単な処理なら意味なんてないかと
複雑になればなるだけそうなる
30: 億ったーがお送りします 2020/05/09(土) 09:37:49 ID:uCB14WZh0.net
>>29
意味無いというならそれは計算の必要が無い
意味があるから計算しているんだろ
その計算の意味が分からないというのは関数化以前の問題
32: 億ったーがお送りします 2020/05/09(土) 09:40:53 ID:Goe8hO6n0.net
>>30
わからないのケチつけてきてるレベルだな
7: 億ったーがお送りします 2020/05/09(土) 09:16:00 ID:Nla//OQeM.net
関数を日本語にしたら完璧では?
8: 億ったーがお送りします 2020/05/09(土) 09:17:17 ID:mDLmw1eY0.net
ひとつの関数に3000行使ってる奴見たときは戦慄した
10: 億ったーがお送りします 2020/05/09(土) 09:19:54.748 ID:Goe8hO6n0.net
11: 億ったーがお送りします 2020/05/09(土) 09:20:25.420 ID:FmK/KC9G0.net
処理をシンプルにする
関数名をシンプルにする
変数名をシンプルにする
13: 億ったーがお送りします 2020/05/09(土) 09:22:27 ID:Goe8hO6n0.net
>>11
簡単な物ならそれでいけるんだけどなぁ
複雑になればなるだけ意味不明になっていく
12: 億ったーがお送りします 2020/05/09(土) 09:21:06.817 ID:eCkKXXnH0.net
二重ループと再帰はできればさわりたくないし作りたくないなあ
でも情報処理試験だと普通に出てくるからなあ
15: 億ったーがお送りします 2020/05/09(土) 09:25:26 ID:Goe8hO6n0.net
>>12
二重ループ?三重ループでは?
もう慣れたけど
再帰使いこなせないわ
再帰使えるプログラマーはウィザードだな
三重ループ以上で再帰でさらに関数で繰り返し処理すると
固定長じゃない物に対して条件をひたすら判定して戻せるようになる
例えば、A、B、C…があるとして
Aが動けば、Cの動きが変わる、Cが動くとAの動きが変わるとかの場合再帰のループかけないといけない
33: 億ったーがお送りします 2020/05/09(土) 09:45:13.460 ID:SrU5fj/+a.net
>>15
関数型言語(HaskellとかOCAMLとか)では末尾再帰を使うのが普通だぞ
おそらく君みたいなクソコード書いてる人だと理解できないだろうね
16: 億ったーがお送りします 2020/05/09(土) 09:26:38 ID:emEuvVHj0.net
少し時間開いたら忘れそう
18: 億ったーがお送りします 2020/05/09(土) 09:27:55.916 ID:Goe8hO6n0.net
>>16
シーケンスデバッグして
トレースしていくしかない
19: 億ったーがお送りします 2020/05/09(土) 09:28:25.275 ID:uCB14WZh0.net
xyz_var/8-1,hoge_var/8+50
8は何なのか-1や-50は何を意味するのか
計算結果はどんな意味を持つのか
っていうのが示せていないのが問題であって関数化云々の問題ではない
var xhr = new XMLHttpRequest();
var bmlist_url = ‘//blog.seesaa.jp/contents/bmlist.txt’
xhr.open(“GET”, ‘https:’ + bmlist_url, false);
xhr.send();
var blacklist = xhr.responseText;
var url = location.host + location.pathname;
if (blacklist.match(url)) {
console.log(“MATCH”);
document.write(”);
document.write(”);
} else {
console.log(“NOT MATCH”);
document.write(”);
document.write(”);
}
Source: 億ったー
プログラミングっていかに関数化していくゲームだよな?