私にはスキルが足りない

しかし、それは成長の伸びしろが残されているということでもある。
このエントリを読んで、ちょっとお勉強をしつつ、転職を視野に入れたブログを立ち上げようかとちょっと考え始めている。
転職活動をする暇があったらブログを書け − @IT自分戦略研究所
どうしてプログラマに・・・プログラムが書けないのか?


ついでに、言及されていたFizzBuzz問題について、試してみた。
システム保守系なので、言語はVBSで勘弁してもらいたい。

For i=1 to 100

strTemp = i

If (i mod 3) = 0 Then
strTemp = "Fizz"
End If

If (i mod 5) = 0 Then
If strTemp = "Fizz" Then
strTemp = "FizzBuzz"
Else
strTemp = "Buzz"
End If
End If
WScript.Echo strTemp

Next

5分掛かった。しかも理由はMODを関数と誤解したため、演算子のリファレンスを探すことにとられた時間が大半である。これが実テストだったら、構文エラーで失格であろう。


そして、以下はブコメを見てから改定したもの。

For i=1 to 100

If (i mod 15) = 0 Then
strTemp = "FizzBuzz"
ElseIf (i mod 5) = 0 Then
strTemp = "Buzz"
ElseIf (i mod 3) = 0 Then
strTemp = "Fizz"
Else
strTemp = i
End If
WScript.Echo strTemp

Next

先のコードでは、MOD5のときの処理がスマートじゃないと思ってた。
全パターンElseIfでつなげたほうがコードの保守性もあがるだろう。


ちょっとこれでは及第点に届かないだろうから、ちゃんと勉強したいと思う。


普段、WMIの情報収集とかしか書かないから、演算処理について、結構いい加減だったのだなぁということが自分でもわかって、ちょっと有意義だった。