いいプログラマってなんだろうかと
考えてみるといろいろと思い浮かぶことがある。

バグが少ない。
保守性・拡張性の高いコードを書く。
コーディングが早い。

まずこのあたりがぱっと思い浮かぶ。


次に、これはアプリケーションの品質や開発速度との
兼ね合いもあるのだが、そもそもそのアプリケーションを
開発できるということがすごいという場合もある。

例えば、とある開発において、いい統合開発環境が
なかった場合、自分で使いやすいIDEを作っちゃいました、
という人がいたら、それはそれですご腕のPGだと思う。

つまり、足りないものや使いにくいものがあったら、
自分で何でも作っちゃうという人である。


また、今のアプリケーションの機能を拡張する場合、
他人のコードを素早く正確に読み抜ける人は
よいPGと評価されるかもしれない。
こういう能力を持っているとソースコードの
品質管理担当になると役に立つように思う。


これこそがいいプログラマだと決めるのは
なかなか難しい。

プログラミングスキルだけでは駄目で
コミュニケーションスキルも持っていることが
重要だというのもよく聞く話である。

現場によってそのPGに求められているものも
ある程度違うかもしれない。


豊富な知識や経験を持っていたら重宝がられるかも
しれないし、もしかしたら、保守性の低いコードを
書いていても、リーダーや上司に言われたことを
文句も言わずに忠実に実行するPGが高評価を
受けるかもしれない!?
必ずしも、腕がいいわけではないケースである。



このようにつらつらと書いてみたわけだが、
何でこんなことを書く気になったかというと
今のプロジェクト(社内案件、私はヘルプ的な立場で
投入された)に関連がある。

このプロジェクトは、諸々の理由から保守性や
拡張性の高いコードを書くことが大変難しい。
素早く作業を完了させることも不可能である。
(せめてバグだけは、バグだけは出したくない。)

品質の高く俊敏なコーディングが出来ない状況で
私はどのようにモチベーションを保ち、
どのように行動すればよいのか。

諸々の理由については機会があれば書きたい。
案件情報が絡むので難しいところではあるが。
ただ、他人が書いたソースコードが汚いというだけの
話ではないことは一言書き留めておきたい。

まあとにかく、一刻も早くこのプロジェクトから
抜け出したいということ。


次の案件で私がアプレットに携わることになるかも

しれないというお達しがあり。


Applet。

プライベートでは昔ちょっぴりやったことがありますが、

業務では全くやったことありません。


もし本当に携わることになるなら、

気合いを入れて勉強しておかんとな。


同じJavaといってもStrutsなどのフレームワークの

Webアプリケーションとはかなり毛色が違いますからね。



個人的な希望としてはどうせ新しいことを

やるならば、Rubyの案件とかやってみたいのですが。


まあ、でもそんな案件はうちの会社には来てないと思います。



で、本日担当と次の案件について話していたところ、


担当「前に話しておいたサーブレットの件だけれどね。」


私「アプレットではなくてですか?」


担当「あれ?サーブレットじゃなくアプレットだっけ?」



おいおい、ServletとAppletじゃ全然違うじゃないか。



まあ、とりあえずアプレットの基本を復習しておきます。



現在、臨時で厄介なプロジェクトに関わっています。


仕様書もなく、ソースコードはぐちゃぐちゃというやつです。


そこで私は仕様変更のための実装の修正を

している訳なのですが、時間のかかること、かかること。


ちょっとした修正でもえらい時間がかかります。


まず修正部分の仕様確認から入ります。

そしてドキュメントには起こさないけれど、

簡単に設計してみます。

その後、実装→テスト。



仕様書がないってことは、実装するときに

自分で設計してみるか、少なくとも頭の中で

仕様についての構想を描かなければならない

わけだから、そりゃ時間もかかるはずだ。


しかも、モジュールの結合度が高すぎて

容易に修正できない。


そもそも修正仕様を考える前に、現在の仕様が

どのようにコーディングされているかを把握することが

困難を極める。


ああ、本当に厄介だ。


悪いプロジェクトのお手本として教えられることが多い。