行数、見易さ、変更のしやすさ、処理性能に気をつける。
そのためにアルゴリズムの本も読む。

例えば、3変数x,y,zの最小値を見つける例。
ただし、わざとmin関数は使わない、という条件付。

実装1:素朴な方法
f(x,y,z)
if(x<=y)and(x<=z)then
return x
elsif(y<=x)and(y<=z)then
return y
else
return z
end

実装2:再帰を使う
f(x,y,z)
if(x<=y)and(x<=z)then
return x
else
retrun f(y,z,x) <---ここがポイント
end

実装3:if分岐先が比較結果フラグ値で決まっていることを利用
f(x,y,z)
retrun (x<=y)*(x<=z)*x + (y<=x)*(y<=z)*y + (z<=x)*(z<=y)*z
(ただし、真=1、偽=0の場合)