paizaオンラインハッカソン6 女子高生プログラマーの大バトルが始まって、当方はGitHubのsaitomarch/POH6にてC言語、C++、Java、C#の各言語の解答例をコミットしているが、実はこれらは定期的に、あるいは頻繁に見直している。実際にC言語やC++においては、本ブログで掲載したコードからかなりの修正を加えているものあるからだ。
今日書いたコードが最適な答えとは限らない
実のところ、プログラミングを経験して気付くことだが、その時書いたコードをしばらくたって読み直してみると、改善したほうが良い箇所がたくさん出てくる。例えばC言語及びC++言語で言えばforループやwhileループにおけるbreakあるいはcontinueを乱用している部分を見つけて、それをなるべく使わないで済むようにしたり、まとめれば良い処理を分割していたりなど、修正したくなる部分が必ずと言っていいほど出てくるからである。
コーディングの方向性も人や目的によって変わってくる
今回のPOH6では、当方は処理速度やパフォーマンス、簡潔さを犠牲にして、分かりやすさ、想定していないフォーマットあるいは値が入力された時に例外を投げる、あるいは異常とみなして終了させること、オブジェクト指向プログラミングの考え方をかなり意識して書いた。それゆえにコードがかなり長くなってしまったが、それを省けばコード量を削減することも可能である。
結局のところ、人によっても書き方のスタイルは変わってくるし、スピードを重視するのか、わかりやすさを重視するのか、正確さを重視するのかでも書き方は変わってくるものと考えている。
最後に
コーディングはどうやって実装したらいいのか意外と悩みどころでもある。プロジェクトや自分に合った書き方を模索していきたいものである。
ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しています。主にスマートフォン向けアプリやウェブアプリの開発を携わっています。ご用の方はコメントかコンタクトフォームにて。