無理に数学的な関数に落とし込まない
code:_
上記の様な循環数列をコード上で扱う時、最初のアプローチとして数学的な関数に落とし込んでしまったが、配列でシンプルに表したほうが見やすいし保守性も上がりそう。限りなく大きい値を添字として与えた時の戻り値を考える。
数学的な関数
code:python
n % 4 + 1 # (n >= 0)
配列
code:python
メモリ的には前者のほうが配列を使わない分優しいが、循環する値の個数はたかが知れていて少ないことが多いと思うので気にしなくて良いだろう。どちらを選ぶかは好みが分かれそう。自分は循環がパッと分かる後者かな…。前者も剰余があるので何かしらの循環があることは分かるのだが、後者の方が配列の添字に剰余を使用していることからoutの値が明確に絞れて見通しが良いだろう。
/icons/hr.icon
数学的な関数という表記、自分で書いたものの納得がいっていない
プログラミングの関数も数学の関数と概念は同じ認識