Mr.Tです、こんにちは。
FizzBuzz 問題:難しいのはどこかhttp://blogs.wankuma.com/jitta/archive/2007/11/07/106683.aspx
FizzBuzz思考過程:http://blogs.wankuma.com/episteme/archive/2007/11/08/106754.aspx
しつこくもFizzBuzz:http://blogs.wankuma.com/episteme/archive/2007/11/08/106821.aspx
#あ、いままでFuzzBizzだと思ってた...orz
初心者にわかりやすい、というのかどうかの判定は、実際あいまいな部分もありますが、さすがにKeyValuePairと
Delegate使われると初心者じゃないだろうし、初心者には使って欲しくないです。
#delegateがきちんとわかって利用できるなら、初心者じゃなかんべ。
とはいうても、IDEの使いやすさと便利さで、WindowsFormアプリなんかあっというまにつくれてしまう。
Delegateを知らなくてもイベントかけちゃう。はい。
これは、かるぼさんが書いてる通り、ですね。
http://blogs.wankuma.com/carbonara/archive/2007/11/08/106796.aspx
まあ人によっても初心者として見る枠が違うと思いますが、とりあえずプログラム初心者にとって
FizzBuzzでどういうことが難点なのかを考えてみます。
----------------------------------------------------------------------------
・条件がきちんと抜き出せない。抜き出した条件が誤ってしまう。
・複数の条件を抜き出したときに、日本語で読んだとおりの順番をつけてしまう。
・ステップをおって考えることをしたことがない。
・適切なアルゴリズムを知らない。教育をうけていない。
・どうやったら最終の答えになるのか、想像していない。
その他、適当。
・アルゴリズムって言葉を知らないww
・アルゴリズムを考えるという気がないww
・そもそも、DBアクセスして表示するだけならアルゴリズムがあまり意味がない!
# ちなみに、言語仕様を知らないとかは、意図的に抜いてます。
----------------------------------------------------------------------------
今回の場合は、「複数の条件を抜き出したときに、日本語で読んだとおりの順番をつけて、その通りにやっちゃう」
が一番の問題じゃないかなぁと、思ってます。
3と5と15のModの判定に、IFを使うのはまあ、ええよ。でも、Else IFじゃなくて Elseにしちゃうのは、どうして?
これって訓練でどうにでもなるんですよね。ってことは、単純に訓練不足なんだけど、
それを訓練するって、初心者の立場に立って考えたときに、実際問題、「どこで」「どうやって」訓練できるのか?
会社組織でやってくれないんだよねぇ。んなら、やはり職場の先輩なのかね?学校?友達?