プログラミングのスピードを上げる方法

私は、会社員時代、与えられた作業量のプログラムを
大抵スケジュール通りか前倒しで仕上げていました。
納期は大事なので、終わらない場合は、休日出勤もしました。
意外と、休日出勤の方が、作業効率が良いんですよね。
酷い時は、徹夜してコードを書いていた事があります。
その時のコードが一番最悪だったと思います。
徹夜している時に、エラーが発生して、その解決をするのに
時間を費やし人を呼び・・・結果、ゴミを書いてました。。
正常な判断ができなくなるので、徹夜はお勧めしません。やめたほうが良いです。
そして、効率良くプログラミングを組む方法について整理してみました。


0.コーディング規約をきちんと読む
  (間違っていると後で修正が入るので、最初にきっちりと読んで把握しておくのは大事)

1.まずは、仕様を理解してイメージを固める。
  (いきなりコードを書いていくのはNG)

2.フローを手書きで良いので簡単に書いて、ロジックの流れを明確にしておく。
  (インプットとアウトプットも明確に)

3.複雑な部分や共通化したい部分を切り出す作業をする。

4.プログラムコードを書く前に、書いたフローをコメントで書いていく。
  (慣れてきたらいきなりコメントでもOK)

5.コメントの所にコードを書いていく

6.共通化できるコードは共通化する。
  他の人が既に共通化しているかもしれないので、周りと連携を取って確認する。
  (共通部分は優先順位を下げる)

7.1本目は丁寧に規約通りに書いていく。
  時間掛かるけど、2本目は1本目をコピペすれば手戻りが少ない。

8.後回しにしたコード(共通部分)を忘れないように、タスク管理をきっちりとする。

9.動作確認をする。一通り動かせるようにデータも複数パターン作って確認
私の経験上、男性プログラマーの人は
コードを書くのは早いけど、動作確認をきちんとやらない人が多くて、
「できました」といわれてもNGが多いケースが多かったです。
きちんと動作確認くらいしてよ!と怒ったこともあったくらいです。
なので、最終的にスケジュールが押してしまい、きつくなります。
そうならないためにも、
・「仕様をきちんと理解してから作ること」
・「テストはプログラミングの倍の時間かけて行う」

これだけで全然違います。
なお、1本できたら使いまわせるようにしておくと
2本目からの生産性アップが図れると思います。
逆にいうと1本目が適当だと最終的に全部手直しが必要となり
時間が掛かってしょうがないですね。
次に、女性プログラマーの人は
コードを書くのは遅いけど、慎重に作業してくれるので
仕様のぶれも少ないし、戻りも少ない人が多かったです。
その代わり、打たれ弱い人が多く、ちょっと戻りがあっただけで
凹んだりする人が多かったので、(私は)気を使いました。
確実な仕事をしてくれますが、なかなか報告してくれないので
ドキドキしながら報告を待っていたものです。
なので、あえていうなら
・「作業が遅れそうな場合は、きちんと報告を」
・「周りとのコミュニケーションを密にして効率化を図る」

です。
個人的には、女性プログラマーより男性プログラマーのが
一緒に仕事していて “楽” でした。
指摘すると”嫌な顔”されると言い難いですし・・・
ん~でも、男性でも、言い難いオーラのある人は、気を使いました。
後は、周りとの「コミュニケーション」は大事です。
他の人が知っていることは、教えてもらったほうが早いですし
既に誰かが共通化しているかもしれないものを
各自で書いていたら時間が勿体無いです。
プロジェクトって不思議と大変なプロジェクトでも
メンバー同士で仲が良くて助け合って作業できた現場だと、
「大変だったけど楽しかったプロジェクト」
という印象で終って良い思い出しか残っていないものです。
「相乗効果」というコトバもあると思うのですが、まさにこれにつきます。
テストをして手戻りが少なくなるように、単体テストは慎重に
きちんとマトリックス形式でデータを作ってテストして仕上げると
バグ(不具合)も少なくなって、結果的に先輩・上司からの評価はあがると思います。
それでも、プログラマに向いていないなぁと思う人ってたまにいます。
コミュニケーションは普通に取れるのに
プライドが高くて質問ができないとか、要領が悪くて根本的に間違っていて
後で大幅修正が必要となってくるとか・・です。
プライドは必要ですが、“わからないことはとことん追求して理解する”スタンスを持たないと
いつまで経っても成長は見られないと思います。
意外と、そういう人多いんですよね。
私は、仕様が理解できるまで、何度も何度もしつこくその場で質問して理解してから
作業に取り掛かっていました。
その結果、現場に出て延長は勿論、後から再オファーや名指しオファーも何度か頂きました。
きちんとした仕事をすれば、それなりに見ている人は見ていると私は思います。

コメントを残す

メールアドレスが公開されることはありません。

【認証キー】 (必須)