次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレにお願いします。
前スレ
C++相談室 part137 (正しくはpart138)
http://mevius.5ch.net/test/read.cgi/tech/1535353320/
C++相談室 part139
https://mevius.5ch.net/test/read.cgi/tech/1538755188/
このスレもよろしくね。
【初心者歓迎】C/C++室 Ver.103【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1530384293/
■長いソースを貼るときはここへ。■
http://codepad.org/
https://ideone.com/
[C++ FAQ]
https://isocpp.org/wiki/faq/
http://www.bohyoh.com/CandCPP/FAQ/ (日本語)
----- テンプレ ここまで -----
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
C++相談室 part140
■ このスレッドは過去ログ倉庫に格納されています
2019/01/13(日) 05:56:22.70ID:9RrR7Arz
483デフォルトの名無しさん
2019/02/03(日) 20:14:23.95ID:s/ZudwPt 意味なんでどうでもいいし
よく使うものは短くあるべし
よく使うものは短くあるべし
484デフォルトの名無しさん
2019/02/03(日) 20:39:58.91ID:OlGWTuPH >>483 この人アカン人。
485デフォルトの名無しさん
2019/02/03(日) 20:43:45.32ID:yzIWridw そしてすべてがグローバル名前空間に・・・
486デフォルトの名無しさん
2019/02/03(日) 20:51:16.38ID:14RUg1W9 Excel方式でA1、A2ってつけていけばよい。
487デフォルトの名無しさん
2019/02/03(日) 20:58:26.26ID:/SCtje8J std::XXX程度ならusingなどいちいちせずに毎回std::XXXと書くわの意味
488デフォルトの名無しさん
2019/02/03(日) 20:59:27.30ID:JIYTTgNa 今はusingでエイリアス使うことだってできるんだし、定義側はある程度長い名前つけておいたほうがいいだろ。
489デフォルトの名無しさん
2019/02/03(日) 21:48:13.84ID:7BX8k8w8 namespace longlongnamespace{
struct hogehogename{
};
}
namespace untarakantara{
//長すぎる
void test(const longlongnamespace::hogehogename* lhs);
}
上のようにuntarakantaraという名前空間でライブラリを作成するときに長い名前空間だとうざったい。
//この場合usingで取り込むのが正解?
//ライブラリなんだから名前空間まで含めてすべて明記すべき?
namespace untarakantara{
using longlongnamespace::hogehogename;//1
void test(const hogehogename* lhs); //1
void test(const longlongnamespace::hogehogename* lhs);//2
}
//std::filesystemやstd::chrono等を想定
struct hogehogename{
};
}
namespace untarakantara{
//長すぎる
void test(const longlongnamespace::hogehogename* lhs);
}
上のようにuntarakantaraという名前空間でライブラリを作成するときに長い名前空間だとうざったい。
//この場合usingで取り込むのが正解?
//ライブラリなんだから名前空間まで含めてすべて明記すべき?
namespace untarakantara{
using longlongnamespace::hogehogename;//1
void test(const hogehogename* lhs); //1
void test(const longlongnamespace::hogehogename* lhs);//2
}
//std::filesystemやstd::chrono等を想定
490デフォルトの名無しさん
2019/02/03(日) 21:50:58.54ID:mcfLKNvL ヘッダには長いのをそのまま書いて実装でusing namespaceすればいいじゃん
491デフォルトの名無しさん
2019/02/03(日) 21:59:39.14ID:14RUg1W9 >>490
ユーザーに無駄な手間をかけさせるな。
ユーザーに無駄な手間をかけさせるな。
492デフォルトの名無しさん
2019/02/03(日) 22:00:19.11ID:Dsz5FlLI >>482
性感染症(STD)は、必ずしも自覚症状があるとは限らない病気です
性感染症(STD)は、必ずしも自覚症状があるとは限らない病気です
494デフォルトの名無しさん
2019/02/03(日) 23:52:42.87ID:JIYTTgNa495デフォルトの名無しさん
2019/02/04(月) 00:38:59.33ID:crpI56wI ヘッダファイル(.h)では全体を
namespace longlonglongname { ... }
で囲い、ソースコード本体(.cpp)では冒頭で
using namespace longlonglongname;
としておけば幸せになれるかもしれん…
(開発側はlonglonglongnameを2箇所だけ書けば済むし、3行コメントアウトしたらいつでもlonglonglongnameネームスペースを外せる
べつにソースコード本体の側もnamespace longlonglongname { ... }で囲っても良いが
namespace longlonglongname { ... }
で囲い、ソースコード本体(.cpp)では冒頭で
using namespace longlonglongname;
としておけば幸せになれるかもしれん…
(開発側はlonglonglongnameを2箇所だけ書けば済むし、3行コメントアウトしたらいつでもlonglonglongnameネームスペースを外せる
べつにソースコード本体の側もnamespace longlonglongname { ... }で囲っても良いが
496デフォルトの名無しさん
2019/02/04(月) 00:56:22.60ID:RjHPX//j497デフォルトの名無しさん
2019/02/04(月) 08:09:08.83ID:8DX2Gc+T 今ならエイリアスでいいだろ。
usingでnamespace全体持ち込むのはdeprecatedにしてもらってもいいくらいだわ。
usingでnamespace全体持ち込むのはdeprecatedにしてもらってもいいくらいだわ。
498デフォルトの名無しさん
2019/02/05(火) 03:18:17.76ID:HIaY+PNB 以下のテンプレート関数が
template <typename T, typename U, int E>
static constexpr T f<E>(const T x, const U y) noexcept
{
return Class<T, U>::f2<E>(x, y);
}
以下のようによびだせないのは何故ですか?
f<3>(x2, y2);
template <typename T, typename U, int E>
static constexpr T f<E>(const T x, const U y) noexcept
{
return Class<T, U>::f2<E>(x, y);
}
以下のようによびだせないのは何故ですか?
f<3>(x2, y2);
500デフォルトの名無しさん
2019/02/05(火) 03:50:25.51ID:HIaY+PNB >>499
すみません。一部まちがえました
×static constexpr T f<E>(const T x, const U y) noexcept
○static constexpr T (const T x, const U y) noexcept
これでTとUが引数から引数から推論されて、Eは余っているから明示指定で大丈夫だろうと。
そう思いました。(間違っているようですが。
すみません。一部まちがえました
×static constexpr T f<E>(const T x, const U y) noexcept
○static constexpr T (const T x, const U y) noexcept
これでTとUが引数から引数から推論されて、Eは余っているから明示指定で大丈夫だろうと。
そう思いました。(間違っているようですが。
501はちみつ餃子 ◆8X2XSCHEME
2019/02/05(火) 03:51:46.67ID:VmiK9YL/ >>498
そのコードを書いてある通りに解釈しようとすると、
f という関数テンプレートの部分特殊化なんだけど、
非メンバ関数の部分特殊化は出来ないし、
f<3>(x2, y2); という使用形式に合致しない。
そのコードを書いてある通りに解釈しようとすると、
f という関数テンプレートの部分特殊化なんだけど、
非メンバ関数の部分特殊化は出来ないし、
f<3>(x2, y2); という使用形式に合致しない。
502はちみつ餃子 ◆8X2XSCHEME
2019/02/05(火) 03:53:36.88ID:VmiK9YL/503デフォルトの名無しさん
2019/02/05(火) 04:02:28.79ID:HIaY+PNB505デフォルトの名無しさん
2019/02/05(火) 13:12:17.63ID:DfuuHrrH 多重ループを抜けるのに例外投げるのってあり?
507デフォルトの名無しさん
2019/02/05(火) 13:18:19.94ID:4twphg+x 気兼ねなくgoto使えるチャンスだぞ
508デフォルトの名無しさん
2019/02/05(火) 14:17:13.53ID:X+ZOJjRh goto で多重ループ抜けたとして、ラベルの下には文がなきゃいけないわけだが、何もしたくないときはどんな文を置くの?
509デフォルトの名無しさん
2019/02/05(火) 14:20:01.31ID:FmL0gboT そんなもん 0; でいいじゃん
510デフォルトの名無しさん
2019/02/05(火) 14:30:41.39ID:4twphg+x セミコロンだけでおk
512はちみつ餃子 ◆8X2XSCHEME
2019/02/05(火) 15:12:13.92ID:VmiK9YL/ ところで、多重ループの内側から直接 return するよりは
goto で抜けてから return する方が綺麗かなって私は思うんだけど、
皆の美意識的にはどう思う?
goto で抜けてから return する方が綺麗かなって私は思うんだけど、
皆の美意識的にはどう思う?
513デフォルトの名無しさん
2019/02/05(火) 15:21:55.39ID:3J1ruy+d 抜けた後何もしないのなら、その場でreturnの方が分りやすい
514デフォルトの名無しさん
2019/02/05(火) 15:32:50.28ID:dQJUt0gZ >>504
横からだけどなるほどありがとう
横からだけどなるほどありがとう
515デフォルトの名無しさん
2019/02/05(火) 16:45:37.41ID:nhJ4ZZtC516デフォルトの名無しさん
2019/02/05(火) 17:32:41.77ID:paZD+duB NEST3:
}
NEST2:
}
NEST1:
}
}
NEST2:
}
NEST1:
}
517デフォルトの名無しさん
2019/02/05(火) 17:34:39.81ID:FmL0gboT 個人的にはそのケースは各ループにbreak条件決めて戻るべきだと思ってるけどね
518デフォルトの名無しさん
2019/02/05(火) 17:51:19.55ID:ttk98JAj519デフォルトの名無しさん
2019/02/05(火) 18:50:04.11ID:nhJ4ZZtC520デフォルトの名無しさん
2019/02/05(火) 18:57:45.76ID:ttk98JAj521デフォルトの名無しさん
2019/02/05(火) 19:59:18.98ID:IbtcjqwQ 結局、関数をまともに書けというプログラムの真髄に到達する。
522デフォルトの名無しさん
2019/02/05(火) 20:18:48.97ID:jcSIAavk つCOBOL
523デフォルトの名無しさん
2019/02/05(火) 20:27:12.09ID:S2UV61Jd 関数を書くのがプログラムの真髄w
基本中の基本だろうがw
真髄w
基本中の基本だろうがw
真髄w
525デフォルトの名無しさん
2019/02/05(火) 20:58:34.40ID:qTZt50kC 処理を関数に切り出すとそれまでローカルだったものがグローバルな世界に曝け出されるのが
ちょっと気持ち悪いと思うことがある。
pascalみたいなローカル関数が定義できるといいんだけどね。
ちょっと気持ち悪いと思うことがある。
pascalみたいなローカル関数が定義できるといいんだけどね。
526デフォルトの名無しさん
2019/02/05(火) 21:01:56.73ID:g0g9sCQz >>525
ローカルクラスをファンクタにするのは?
ローカルクラスをファンクタにするのは?
527デフォルトの名無しさん
2019/02/05(火) 21:12:38.61ID:FmL0gboT ぶっちゃけ再利用しないものは関数化しない
528デフォルトの名無しさん
2019/02/05(火) 21:23:59.05ID:4twphg+x プログラム自体が関数だしな
529デフォルトの名無しさん
2019/02/05(火) 21:39:46.18ID:YX6xJwJ1 精々2重ループまでしか書かない。
3重超えるときは、前処理で跳ねるわ。
3重超えるときは、前処理で跳ねるわ。
530デフォルトの名無しさん
2019/02/05(火) 21:50:04.80ID:YX6xJwJ1 >>525
Pimpl, 関数のスコープ内にクラス定義できるし、ラムダ式もある。
Pimpl, 関数のスコープ内にクラス定義できるし、ラムダ式もある。
531デフォルトの名無しさん
2019/02/05(火) 22:03:16.15ID:B24ls1Z9 クラスって全部ファンクタでいいよね
532デフォルトの名無しさん
2019/02/05(火) 22:17:00.68ID:ttk98JAj533デフォルトの名無しさん
2019/02/05(火) 22:41:27.49ID:XWcjjk28 そりゃ素朴にやればヘッダに書くことになるからだろ
つっこむところか?
つっこむところか?
534デフォルトの名無しさん
2019/02/05(火) 22:58:22.32ID:IbtcjqwQ535デフォルトの名無しさん
2019/02/05(火) 23:20:37.88ID:ttk98JAj536デフォルトの名無しさん
2019/02/05(火) 23:30:36.12ID:g0g9sCQz やだなあ冗談やんけ。
そんなお尻真っ赤にして怒るなよ。
そんなお尻真っ赤にして怒るなよ。
537デフォルトの名無しさん
2019/02/05(火) 23:55:24.87ID:J4pnNQ65538デフォルトの名無しさん
2019/02/06(水) 00:00:34.27ID:xEjOz3Cc bar()が独立した関数とするにふさわしい他との依存性が小さい処理内容なら別に分けても良いが、
フローの見かけを簡単にしたいという目的で>>520式の切り出しを乱発したらたちまち債務超過に…
フローの見かけを簡単にしたいという目的で>>520式の切り出しを乱発したらたちまち債務超過に…
539デフォルトの名無しさん
2019/02/06(水) 00:07:33.57ID:8+AMOzIa >>538
フローの見かけを変えたいなどというつまらない目的では無い
責務の切り出しだと最初から言っとるだろーが
責務を適切に見極められないから5重ループなんていう悪魔的なコードを平気で書いちゃうんだよ
フローの見かけを変えたいなどというつまらない目的では無い
責務の切り出しだと最初から言っとるだろーが
責務を適切に見極められないから5重ループなんていう悪魔的なコードを平気で書いちゃうんだよ
540デフォルトの名無しさん
2019/02/06(水) 00:14:56.50ID:8+AMOzIa541デフォルトの名無しさん
2019/02/06(水) 00:18:52.55ID:xEjOz3Cc 5組の集合の総当りとかなら5重ループで書くのがいちばん自然で速い
n組の集合の総当りとか可変になってくるなら数え上げのアルゴリズムを変える
どっちにせよ関数を増やすことは必須ではない
n組の集合の総当りとか可変になってくるなら数え上げのアルゴリズムを変える
どっちにせよ関数を増やすことは必須ではない
542デフォルトの名無しさん
2019/02/06(水) 00:27:22.81ID:8+AMOzIa 内側のループで明らかに何らかの判断を行ってその結果を外側のループが利用してる
ここで行ってる何らかの判断が責務に該当するわけだ
ならばそれをメソッドの切り出して何をしてるのか明らかな名前を付けてやればいい
プログラムってのはこうやって書くんだぜ
もしこれをメソッドにしなければ何らかの判断をすることとその結果を見て何かすることという複数の責務がメソッドに割り当てられたダーティなプログラムになってしまう
ここで行ってる何らかの判断が責務に該当するわけだ
ならばそれをメソッドの切り出して何をしてるのか明らかな名前を付けてやればいい
プログラムってのはこうやって書くんだぜ
もしこれをメソッドにしなければ何らかの判断をすることとその結果を見て何かすることという複数の責務がメソッドに割り当てられたダーティなプログラムになってしまう
543デフォルトの名無しさん
2019/02/06(水) 00:33:36.55ID:xEjOz3Cc >内側のループで明らかに何らかの判断を行ってその結果を外側のループが利用してる
外側の債務を肩代わりする内側への資金供与はどうするんじゃ…
事実上の5重ループのもっとも内側(もっとも数多く繰り返し実行される)で、事実上引数が5個あるも同然の関数をもっとも数多く繰り返し実行するのか…
ループ構造をのまま関数の構造に変換するのはあんま筋のいいアイデアではないと思うワケ
第一なんか変更があったとき直しにくい
外側の債務を肩代わりする内側への資金供与はどうするんじゃ…
事実上の5重ループのもっとも内側(もっとも数多く繰り返し実行される)で、事実上引数が5個あるも同然の関数をもっとも数多く繰り返し実行するのか…
ループ構造をのまま関数の構造に変換するのはあんま筋のいいアイデアではないと思うワケ
第一なんか変更があったとき直しにくい
544デフォルトの名無しさん
2019/02/06(水) 00:36:02.10ID:AKR+nTaH そりゃコードレベルで考えてるからだろう
意味を考えずにコードだけをこねくり回すから後で変更が入るんだよ
意味のある単位で関数化しろ
意味を考えずにコードだけをこねくり回すから後で変更が入るんだよ
意味のある単位で関数化しろ
545デフォルトの名無しさん
2019/02/06(水) 00:37:56.91ID:xEjOz3Cc 意味を考えれ、という為らば過度の多重ループは数え上げのアルゴリズムを変えた(>>543)方が…
546デフォルトの名無しさん
2019/02/06(水) 00:39:50.29ID:8+AMOzIa547デフォルトの名無しさん
2019/02/06(水) 01:10:17.64ID:TluxhF2l 深いネスト書くやつと長い関数・クラス書くやつはダメプログラマ
548デフォルトの名無しさん
2019/02/06(水) 01:14:36.80ID:LZQuj/e3 わしらじじいの時代は関数ごとに1ファイルの.cに分けて書け、と言われたもんじゃった・・・
・・今考えたらアホやな
・・今考えたらアホやな
549デフォルトの名無しさん
2019/02/06(水) 01:14:44.26ID:ynCNotXu 関数型言語だとループ使わねえもんな
550デフォルトの名無しさん
2019/02/06(水) 01:19:14.37ID:TVvP4aoc 全部ファンクタにしてループを抹消しよー
551デフォルトの名無しさん
2019/02/06(水) 01:54:02.43ID:1PkYZi2l C++の殆どのコンパイラはループ自体の最適化はそこそこイケるけど再帰のループへの最適化は多用できるほど強くはない印象ある
functorがマイブームっぽい人が見受けられるけどC++2aに期待かねぇ
functorがマイブームっぽい人が見受けられるけどC++2aに期待かねぇ
552デフォルトの名無しさん
2019/02/06(水) 02:10:57.61ID:tVubCuJx 抽象化してアルゴ切り替えとか便利だし>ファンクタ。
ループ抹消は新興宗教だわ。
ループ抹消は新興宗教だわ。
553デフォルトの名無しさん
2019/02/06(水) 02:17:29.94ID:3iJRb7MF C++自体もはや宗教だろ
554デフォルトの名無しさん
2019/02/06(水) 05:02:26.66ID:e/w8DpDR555デフォルトの名無しさん
2019/02/06(水) 05:06:05.76ID:e/w8DpDR あと、明らかに「5重ループ」は例えに過ぎないのにここに引っかかってる奴も完全バカ
556デフォルトの名無しさん
2019/02/06(水) 07:00:55.30ID:2YrOaQLS 現実のプログラムを書いたことがない奴が机上の空論言ってるんだよね
5重ループのループ変数を外側からijkmnとして
jとkとnを使ってXを計算して
iとjとnを使ってYを計算して
XとYの比較と、kとmとnを使った条件式で分岐して
一方ではXとYとiとnを使った処理をして結果をnのレベルで宣言した配列に入れる
他方ではXとYとjとkとmとnを使った処理をして結果をmのレベルで宣言した別の配列に入れる
そして2つの配列でなんやかんやして結果をさらに別の配列に入れて以下省略
無理矢理分ければ変数と配列のポインタを大量に取る醜くて意味不明な物にしかならない
関数とは「計算」や「処理」や「なんやかんや」を切り出すものであって、ループ構造を破壊して読みにくくするためのものではない
これは現実の例だ
5重ループのループ変数を外側からijkmnとして
jとkとnを使ってXを計算して
iとjとnを使ってYを計算して
XとYの比較と、kとmとnを使った条件式で分岐して
一方ではXとYとiとnを使った処理をして結果をnのレベルで宣言した配列に入れる
他方ではXとYとjとkとmとnを使った処理をして結果をmのレベルで宣言した別の配列に入れる
そして2つの配列でなんやかんやして結果をさらに別の配列に入れて以下省略
無理矢理分ければ変数と配列のポインタを大量に取る醜くて意味不明な物にしかならない
関数とは「計算」や「処理」や「なんやかんや」を切り出すものであって、ループ構造を破壊して読みにくくするためのものではない
これは現実の例だ
557デフォルトの名無しさん
2019/02/06(水) 07:42:14.42ID:PYjwZV54 5重ループで必死過ぎ
558デフォルトの名無しさん
2019/02/06(水) 08:42:11.48ID:dLN9y6Lw まさに関数使うべきところじゃね?
559デフォルトの名無しさん
2019/02/06(水) 09:25:14.44ID:TVKvnrTY 関数に切り出すのは再利用するためだけじゃない
読みやすいコードにするためにも超重要
これが身に染みてわかるようになったら脱初心者
わかってないやつは優れたオープンソースのコードとかもっと読め
五重ループなんてまぁプルリクでrejectされるさ
もちろん捨てコードならどうでもいいけど
読みやすいコードにするためにも超重要
これが身に染みてわかるようになったら脱初心者
わかってないやつは優れたオープンソースのコードとかもっと読め
五重ループなんてまぁプルリクでrejectされるさ
もちろん捨てコードならどうでもいいけど
560デフォルトの名無しさん
2019/02/06(水) 12:16:09.08ID:gpBlA5Jy エディタ次第だけど関数化するくらいならブロックに入れてたたんでおけばよくね
561デフォルトの名無しさん
2019/02/06(水) 12:29:59.92ID:1tCLVB4W 本質的に五層の繰り返し構造をとる処理は五重のループで書くのが正しいんだよ
外側の二層と内側の三層が意味的に分かれてるなら、そりゃ関数に切るのは当たり前だし正しいさ
しかし互いに絡み合った五層繰り返しを行うアルゴリズムは、そのありのままの姿をコードに落とすべきなんだよ
そういうものを見かけのループ階層を減らすために強引に切り刻むの行為はリファクタリングではなくスパゲッティ化と言うんだ
絶対にやってはいけない
外側の二層と内側の三層が意味的に分かれてるなら、そりゃ関数に切るのは当たり前だし正しいさ
しかし互いに絡み合った五層繰り返しを行うアルゴリズムは、そのありのままの姿をコードに落とすべきなんだよ
そういうものを見かけのループ階層を減らすために強引に切り刻むの行為はリファクタリングではなくスパゲッティ化と言うんだ
絶対にやってはいけない
562デフォルトの名無しさん
2019/02/06(水) 12:33:42.12ID:5DsLQSpR563デフォルトの名無しさん
2019/02/06(水) 12:37:20.54ID:gjOdQxAx564デフォルトの名無しさん
2019/02/06(水) 12:40:59.66ID:CtZpHCTy 絡み合った層ってそれほんとに層なの?
565デフォルトの名無しさん
2019/02/06(水) 12:47:26.83ID:gjOdQxAx 糞をいくら切り刻んでも糞
それでいいだろもう
それでいいだろもう
566デフォルトの名無しさん
2019/02/06(水) 14:09:03.30ID:9JAqyHM+ cppコーダーのコードは汚い。5重ループとか平気で書く無神経さ
一回でいいからJavaやC#、ruby、などクリーンな言語を学んだほうがいい
一回でいいからJavaやC#、ruby、などクリーンな言語を学んだほうがいい
567デフォルトの名無しさん
2019/02/06(水) 14:13:54.24ID:QvJUH+Yd ΣΣΣΣΣ
と書く代わりに
Σ_{i,j,k,lm}
と書けってか?
どーでいい
議論するだけ無駄だろwwww
C++にとって可読性なんてもはや関係ない
と書く代わりに
Σ_{i,j,k,lm}
と書けってか?
どーでいい
議論するだけ無駄だろwwww
C++にとって可読性なんてもはや関係ない
568デフォルトの名無しさん
2019/02/06(水) 14:17:48.99ID:2YrIvpU1 そして過度にLinqを使いまくって遅くなるのでした
569デフォルトの名無しさん
2019/02/06(水) 14:35:47.42ID:tVubCuJx 正規化されたDB使うかな、ガチの5重ループやるなら。
計算量O(log n)~O(n)位を目安にシステム設計する。
計算量O(log n)~O(n)位を目安にシステム設計する。
570デフォルトの名無しさん
2019/02/06(水) 15:30:17.65ID:kcXvzDdu571デフォルトの名無しさん
2019/02/06(水) 16:16:53.27ID:QvJUH+Yd572デフォルトの名無しさん
2019/02/06(水) 18:49:37.81ID:1tCLVB4W >>563
コンテナを舐めて順番に処理するとか検索するとかシーケンスを比較するとか
そんなのをどんどん処理単位に切って抽象化して行くことは素晴らしいし誰も反対しないね
有害なのはループは全部そう出来るというエアプログラマーの思い込み
コンテナを舐めて順番に処理するとか検索するとかシーケンスを比較するとか
そんなのをどんどん処理単位に切って抽象化して行くことは素晴らしいし誰も反対しないね
有害なのはループは全部そう出来るというエアプログラマーの思い込み
573デフォルトの名無しさん
2019/02/06(水) 18:57:19.55ID:cXGNS95r >>572
もっとも有害なのはごく稀な場合を引き合いに出して一般論を否定しようとするやつ
もっとも有害なのはごく稀な場合を引き合いに出して一般論を否定しようとするやつ
574デフォルトの名無しさん
2019/02/06(水) 18:58:32.19ID:ytX3d0vu 江添さんディスってやるなよw
575デフォルトの名無しさん
2019/02/06(水) 19:15:14.64ID:1tCLVB4W ほらね
「ごく稀」というまさに思い込み
しょっちゅうとは言わないが、無視できるほど少なくもないよ
分野にもよるだろうけどさ
プログラムって結局現実の問題を解決するツールなんだから
現実世界の汚さも表現しないといけないんだよ
汚物を表すコードは汚物に見えるべきであって、見せかけで綺麗なフリしようとしたって失敗するしいいことは何もない
「ごく稀」というまさに思い込み
しょっちゅうとは言わないが、無視できるほど少なくもないよ
分野にもよるだろうけどさ
プログラムって結局現実の問題を解決するツールなんだから
現実世界の汚さも表現しないといけないんだよ
汚物を表すコードは汚物に見えるべきであって、見せかけで綺麗なフリしようとしたって失敗するしいいことは何もない
576デフォルトの名無しさん
2019/02/06(水) 19:18:24.90ID:cXGNS95r577デフォルトの名無しさん
2019/02/06(水) 19:27:52.65ID:JChC73Df ID:cXGNS95rが言ってる稀ってのは、
「処理単位に切れる再利用しやすいループ」でない、依存性の強いループが稀だと言いたいのか?
「処理単位に切れる再利用しやすいループ」でない、依存性の強いループが稀だと言いたいのか?
578デフォルトの名無しさん
2019/02/06(水) 19:33:09.12ID:Uzc23Z4W 実際のところ、5重ループってインデントが深くなる以外に何か問題あるの?
579デフォルトの名無しさん
2019/02/06(水) 19:53:38.31ID:tVubCuJx 五つの状態変数を把握しないといけない所。
不定のタイミングでバグが起きて、他人の書いたそれを時間に追われて読まねばならん。
不定のタイミングでバグが起きて、他人の書いたそれを時間に追われて読まねばならん。
580デフォルトの名無しさん
2019/02/06(水) 20:06:21.69ID:cXGNS95r >>577
単一の責務で何重にもループすることは稀と言ってる
単一の責務で何重にもループすることは稀と言ってる
581デフォルトの名無しさん
2019/02/06(水) 20:07:36.88ID:Uzc23Z4W それ、関数に切り出して5重ループを無くしたら解消するものなの。
582デフォルトの名無しさん
2019/02/06(水) 20:08:15.91ID:cXGNS95r するよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 津波警報の発表中にグーグル検索、AIが「すべて解除」と誤情報 [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 【テレビ】家入レオ 高校時代は親友なし 唯一の仲間が現在は超人気女優 「ずっとお互いに本を読んで」 [湛然★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 中国父さん、ジャップに事前通知した音声公開😄騒いでたのはジャップだけだった😭 [929293504]
- 【実況】博衣こよりのえちえち朝活🧪
- 寒すぎてハゲたんやが
- 【高市悲報】日本人のTikTokアカウントが続々収益化剥奪中!!乞食どもざまああああああああwwwwwww [394917828]
- ケツマンコが痒いんだが
- 大谷翔平「ボーナス?5000万でしたが」G集合。全員のボーナス足し合わせてコイツ倒せ
