for for for for fool
ループネストとか脳死してることしてくれるなと。
どうせbreakだとかcontinueだとかのためのif文も大量に散らばってるんでしょこのタコ! と。
というかそこまでループさせないといけないという事態が意味ワカンネと言わざるを得ない。
場合によってはwhile(BOOL)で半無限ループさせてる場所とか見ますけどね、それもダメだろと。
とりあえず、ループでネストさせるケースのことを考えるとすると……。
多分、処理中に複数の配列を処理したいのかな、と。
というかそれくらいしか考えつかないですよねと。
そういう場合、ループネストさせるよりまだマシな方法もなくはないですね。
例えばswitch caseで配列の要素数に合わせて処理していくとか、ループごとのメソッドを分けるとか。
どうせループでやろうって処理って単純なものが多いですからね。
例えば同じ要素を持ってる複数の要素(要するに多次元配列)を処理したいときとか。
これ、要するにcsvファイルだとかデータベースから引っ張ってきた複数のデータだとか(見た目で言えばExcelの表)のことですが。
なら、全体を処理するメソッド、行を処理するメソッド、列を処理するメソッドに分割してやればいい。
三重にループするより内部で入力データ分ループするメソッドを三つ呼ぶ方がまだ視覚的に理解しやすいはず。
あとその方が視点の整理ができてコーディング段階でのミスも減るはず。
なぜ1メソッドであれもこれもやろうとするのか。
いや、初めにコールするメソッドは一つでもいいんですけどね。
一つのメソッドコールしたあとにそのメソッドだけで処理を終わらせるとかプログラマの発想じゃない。
多分中学とか高校の数学の記述問題とかそういうのを解いてる時の発想。
アーキテクチャ的に考えて価値がない。
アカデミック的には知らないですけど。
他にも、要素番号によって処理変えたいからー、とか言ってループ内でswitch case使うくらいならそもそもその配列のカウント使ってswitch case書けばいいだろと思わなくもない。
インデックス番号的にデカい方からswitchに書いてbreakしなければある分だけ全部処理されるでしょうよ、と。
まあ、あまり褒められた書き方じゃないんでコメントは厚めに書かないといけませんがね。
正直メソッドの長さ=製作者の愚かさなんだから、やりすぎない程度に細かめに区切ればいいじゃないとか思わなくもない。
頼むから、仮にもエンジニアなら配列=ループ構文とかいう視野狭窄は起こさないでいただきたいね。




