表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
どこぞのプログラマの愚痴日記  作者: どこぞのプログラマ
PR
26/141

for for for for fool

 ループネストとか脳死してることしてくれるなと。


 どうせbreakだとかcontinueだとかのためのif文も大量に散らばってるんでしょこのタコ! と。

 というかそこまでループさせないといけないという事態が意味ワカンネと言わざるを得ない。

 場合によってはwhile(BOOL)で半無限ループさせてる場所とか見ますけどね、それもダメだろと。


 とりあえず、ループでネストさせるケースのことを考えるとすると……。

 多分、処理中に複数の配列を処理したいのかな、と。

 というかそれくらいしか考えつかないですよねと。

 そういう場合、ループネストさせるよりまだマシな方法もなくはないですね。


 例えばswitch caseで配列の要素数に合わせて処理していくとか、ループごとのメソッドを分けるとか。

 どうせループでやろうって処理って単純なものが多いですからね。

 例えば同じ要素を持ってる複数の要素(要するに多次元配列)を処理したいときとか。

 これ、要するにcsvファイルだとかデータベースから引っ張ってきた複数のデータだとか(見た目で言えばExcelの表)のことですが。

 なら、全体を処理するメソッド、行を処理するメソッド、列を処理するメソッドに分割してやればいい。

 三重にループするより内部で入力データ分ループするメソッドを三つ呼ぶ方がまだ視覚的に理解しやすいはず。

 あとその方が視点の整理ができてコーディング段階でのミスも減るはず。


 なぜ1メソッドであれもこれもやろうとするのか。

 いや、初めにコールするメソッドは一つでもいいんですけどね。

 一つのメソッドコールしたあとにそのメソッドだけで処理を終わらせるとかプログラマの発想じゃない。

 多分中学とか高校の数学の記述問題とかそういうのを解いてる時の発想。

 アーキテクチャ的に考えて価値がない。

 アカデミック的には知らないですけど。


 他にも、要素番号によって処理変えたいからー、とか言ってループ内でswitch case使うくらいならそもそもその配列のカウント使ってswitch case書けばいいだろと思わなくもない。

 インデックス番号的にデカい方からswitchに書いてbreakしなければある分だけ全部処理されるでしょうよ、と。

 まあ、あまり褒められた書き方じゃないんでコメントは厚めに書かないといけませんがね。


 正直メソッドの長さ=製作者の愚かさなんだから、やりすぎない程度に細かめに区切ればいいじゃないとか思わなくもない。

 頼むから、仮にもエンジニアなら配列=ループ構文とかいう視野狭窄は起こさないでいただきたいね。

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ