達人プログラマーになるには?

大規模システムを一人で組む機会が多く、毎回思うことがある。 ソースコードをロス無く最小限の文字数で描き、後から見て分かりやすい、動作も軽快。 結果として、短時間で描き上げることができる。

これらは個別の事のように見えますが、全てつながっていて、どれか一つが劣っても「良いプログラム」とはいえません。

そのために、日頃から心がけていることが2つあります。一つは ”ソースコードを日本語で描く” 二つ目は ”自分の愚かさを記録する” ということです。 この二つを心がければ、誰でもプログラムが上手に描けるようになります。

まずはじめに ”ソースコードを日本語で描く” についてお話します。 クライアントや元請けさんから頂く仕様書を見て、毎回感じること。 解りにくい! 何を伝えたいのか不明瞭! 主語が抜けている! 意味を取り違えた専門用語! それが普通の人なんだなって思う。

意味を取り違えた専門用語!」ってチョー恥ずかしいことですが、けっこう皆さんやってます。 特にディレクションとか専門にしている ”制作しない制作会社” に多いですね〜。 多いというかほぼ全員ですけどね。 そういう人たちが、専門用語を間違った意味で普及しているってのが現実ですかね。

話がそれましたので本題にもどります。 頂いた仕様書は、取り消し線、下線、太文字、色文字、追記、などをフルに活用して、分かりやすい仕様書に仕上げます。 次に、仕様書の項目ごとに、ソースコードを書くのですが、コンピュータ語ではなく、日本語で書きます。 オープンソースのカスタマイズの例をご覧ください。

どのファイルの何行目を編集・追記すればいいか? その場所をどうやって見つけたのか?
具体的に、最小限の文字で、解りやすく、書く それだけなんですが、これが描ければ、プログラムは8割がた完成したようなものです。

上の例を見て、お気づきの方、いらっしゃいますか? これね〜。 数学の試験問題みたいでしょ。 問題が解りやすいと、答えは容易なんです。 プログラムが上手でない人は、この「ソースコードを日本語で描く」という作業をせず、いきなりソースコードを書こうとしているんですね。 あなたは天才ですか?って感じ! だからいつまでたっても上達しない。
「ソースコードを日本語で描く」の意味はこんな感じです。 ご理解いただけたでしょうか?

では、次に「自分の愚かさを記録する」について話してみます。 作業中つまずいたこと、新たに覚えたこと、面倒だと思ったこと、をブログに書いていきます。 ただそれだけです。 そのメリットは大きいです。その後の作業がどんどん早くなります。

理由は、つまずいた時、検索をかけると、自分の過去のミスが出てきます。 脳の無限ループに陥ること無く、瞬時に解決できます。 「自分の愚かさを記録」したサンプルは、お気づきの方もいるかも知れませんが、このサイトそのものです。

ということで、この文章は終わりのタイミングで、達人プログラマになるために大切なこと、もう一つありました。 「知識ではなく、知恵を求めよ。知識は過去の産物だが、知恵は未来をもたらす。」ラムビー族(インディアン)の格言ですね。 プログラマーにはピッタリの言葉なんです。

なぜかというと、自分の知識に執着してハマること多し。 昨日覚えたソースコードや関数、今日描いたら動かないなんてこと日常茶飯事です。 原因はサーバーの仕様がことなっていたり、プログラム言語モジュールがアップデートされたりで、昨日の常識は、今日には通用しないんです。

知識か?知恵か?を理解し 「自分の愚かさを記録」して 自分が原因の、脳の無限ループにはまらないこと。 とても大切です。 ハマりが多いと、メンタル病みますからね〜。 プログラマが体調不良で退社するって、まさにこれなんです。

”ソースコードを日本語で描く” ”自分の愚かさを記録する”
この2つを心がければ、かならず達人プログラマになれるでしょう。