プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

プログラミングセンスって、どんな時に感じるの!?

ボクの場合、難しいことを、いかにも簡単そうに実現しているコードを見た時に感じるな。

プログラムセンスがある人とない人の違いを
感じたことがありますか?

それはどんな時でしょうか?

どんな瞬間にプログラムセンスがある人とない人の違いを感じますか? : IT速報

人というよりコードを見てなんだけどね。

プログラムを難しく実装するのは

実は簡単なんだ。ざっと仕様を見て、実装してみる。動かす。バグ直す。ここはフラグ使おう。パラメータ増やせばいいか。ここ同じようだから、まとめよう。…

かくして、行き当たりばったりなスパゲッティ構造プログラムの出来上がり(笑)

「簡単そうに実現している」というのは

言い換えれば理論整然としているということ。これはプログラミングの初期の段階において、いかに本質を見抜けるか、ということにかかっていると思う。極めてシンプルな骨格に、必要な機能を実装していくことができれば、プログラムは複雑化しない。

シンプルすぎず、複雑じゃない、微妙なバランスのコードにはセンスを感じる。

あとバランスも大事

バランスっていうのは、実行される環境において最大限のパフォーマンスを発揮するように作られているってこと。

ここでいうパフォーマンスは実行速度にかぎらず、反応速度やメモリ使用量なども含まれる。プログラムは実行される環境によって、速度とメモリ使用量、最適化と拡張性など、相反する選択を迫られるケースが多い。優れたプログラムは、そのあたりのさじ加減が絶妙だ。経験に裏打ちされたコードにはセンスを感じる。

そうそう

細かいところまで気配りが行き届いているプログラムは「センスいいな」って思うね。

エラーチェックはもちろん、どんな値が来ても処理可能な実装。拡張性に優れているけど、複雑じゃなく可読性も高い。そんなコードを「美しいコード」と言うんじゃないかしら。そんな風に言われてみたいものです。

私!?

出来てたら、こんなに苦労してないッスよ :)