こちらの章では、プログラムを実際に制作する上で、
重要なことを解説していくことにします。
目標としていただきたいことは、プログラムの可読性を向上させることにあります。
プログラムは単純な処理の集合体ですが、書き方によって必要以上に複雑(見た目が)になり、
解読するのが困難になりがちです。これは経験の浅いプログラマでは
必ず発生する問題であり、この過ちを犯さないようにすることが
最初のスキルアップのために必須のことです。これを怠ると
あらゆる面で無駄な努力をしたり、トラブルになったりするので、とても大事なことです。
だれでも最初は初心者。最初はできなくて当たり前なのです。
自分も初めの頃に作ったプログラムを眺めると頭痛がしてくるんですよ。
要点だけ挙げますと、より単純に、より簡潔に、ルーチンは可能な限り分ける。
作る必要が無い処理は極力書かない、共通化できる部分は徹底して行うことです。
こうすることにより、プログラムの品質は向上し、バグが生じる可能性が大幅に低下します。
人間はミスを犯す、人間は忘れやいという事実を忘れないでください。
これはどんなに努力してもカバーすることが困難なことなのです。
この章で述べることはリンク集で紹介させていただいている、
Cプログラム診断室と基本的に同様の内容になります。
あちらのサイトが豊富な用例もあり詳しいので、できればあちらを読み事をお勧めしますが、
内容が膨大なので、こちらは少なくまとめるような形で努力してみます。
プログラミングの学習をしているときに、受験勉強のように丸暗記したり、
ソースコードの写し書きをひたすら続けていましたら、いますぐそれを改めてください。
丸暗記や写し書きなどの学習方法は何の役にも立ちません。無駄な努力です。
何に関してもいえることですが、必要なのは実践で役立つ能力です。
丸暗記や写し書きではその能力を伸ばすことができません。
写し書きをする暇があるのなら、ひたすら自分で一からプログラムを
作る努力をし、エラーやバグが出たら自分で地道に解決していく努力をしてください。
人から教えを請うことも時には必要ですが、可能な限り自分で解決してください。
人間とは不幸な生き物で、楽に身に付けた知識や経験は忘れてしまいがちです。
これはまえがきにも触れたとおりですね。実践して覚えることが最高の経験なのです。
あなたの上司や目上の方はひたすら技術的な言い訳をして困難なことを
できないと客先や対応先などを言いくるめたりはしていませんか?
もし、納期などの時間的な理由などやむを得ない理由以外で安易に
そうしているのならば、見限ってください。その人についていっても得られるものはありません。
技術者として、プログラマとしてのプライドを放棄している証拠であり、
そんな人についていったら、あなたの将来に夢はありません。
もし困難に当たって、物事を解決できなければ、努力が足りないと思ってください。
しょうがないからとそれだけで終わらせないで、今後の反省点にすることが大事です。
例えるならば、韓国のMMOゲーム(うちがプレイしているw)の某企業とでもいいましょうか…。
あんな企業のようになってはだめですよ。悪い見本です。
最後に、日本の学校や企業に多く見られる体質はプログラマにとって諸悪の根源ばかりです。
お受験、くさいものに蓋などの論理が、多くのプログラマを悪の道に走らせることになりました。
情報化社会になってきた今。それは人命に関わる危機にもなってきています。